Python Selenium – 按文本查找按钮
在本文中,让我们讨论如何使用selenium通过文本查找按钮。请参阅下面的示例以了解文本查找按钮的含义。
例子:
URL: https://html.com/tags/button/
We need to find the “CLICK ME!” button using the text “Click me!”.
所需模块:
Selenium: selenium包用于从Python自动化 Web 浏览器交互。它是一个主要用于测试的开源工具。在终端中运行以下命令来安装这个库:
pip install selenium
设置网络驱动程序:
Web Driver 是一个与 Web 浏览器交互的包。您可以根据您的浏览器选择安装任何 Web 驱动程序。使用给定的链接安装其中任何一个 -Firefox https://github.com/mozilla/geckodriver/releases Safari https://webkit.org/blog/6900/webdriver-support-in-safari-10/ Chrome https://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()
输出: