📜  Python Selenium – 按文本查找按钮

📅  最后修改于: 2022-05-13 01:55:09.787000             🧑  作者: Mango

Python Selenium – 按文本查找按钮

在本文中,让我们讨论如何使用selenium通过文本查找按钮。请参阅下面的示例以了解文本查找按钮的含义。

例子:



所需模块:

Selenium: selenium包用于从Python自动化 Web 浏览器交互。它是一个主要用于测试的开源工具。在终端中运行以下命令来安装这个库:

pip install selenium

设置网络驱动程序:

Web Driver 是一个与 Web 浏览器交互的包。您可以根据您的浏览器选择安装任何 Web 驱动程序。使用给定的链接安装其中任何一个 -

Firefoxhttps://github.com/mozilla/geckodriver/releases
Safarihttps://webkit.org/blog/6900/webdriver-support-in-safari-10/
Chromehttps://sites.google.com/a/chromium.org/chromedriver/downloads

在这里,我们将使用 ChromeDriver。

找到按钮的xpath:

  • 方法 1:使用 Inspect 元素
    右键单击要查找 xpath 的元素。选择“检查”选项。

  • 右键单击控制台上突出显示的区域。转到复制 xpath

  • 方法二:使用Chrome扩展轻松查找xpath:
    我们可以使用像 SelectorGadget 这样的 Chrome 扩展程序轻松找到元素的 xpath。

方法:

  • 导入Selenium和时间库
  • 使用您下载 WebDriver 的位置设置 Web Driver 路径
    示例 - “C:\\chromedriver.exe”
  • 调用 driver.get()函数以导航到特定 URL。
  • 调用 time.sleep()函数等待驱动程序完全加载网页。
  • 使用 driver.find_element_by_xpath() 方法使用 xpath 查找按钮。
  • 通过文本查找按钮-
    (i) 使用 normalize-space() 方法:
    driver.find_element_by_xpath('//button[normalize-space()=”点击我!”]')
    (ii) 使用 text() 方法:
    driver.find_element_by_xpath('//按钮')
    注意:建议使用normalize-space()方法,因为它会修剪左侧和右侧的空格。目标文本的开头或结尾可能存在空格。
  • 最后使用 driver.close()函数关闭驱动程序。

执行:

Python3
# Import Library
from selenium import webdriver
import time
  
# set webdriver path here it may vary
# Its the location where you have downloaded the ChromeDriver
driver = webdriver.Chrome(executable_path=r"C:\\chromedriver.exe")
  
# Get the target URL
driver.get('https://html.com/tags/button/')
  
# Wait for 5 seconds to load the webpage completely
time.sleep(5)
  
# Find the button using text
driver.find_element_by_xpath('//button[normalize-space()="Click me!"]').click()
  
time.sleep(5)
  
# Close the driver
driver.close()


输出: