如何使用 Selenium Python 点击按钮?


我们可以使用 Python 中的 Selenium Webdriverclick() 方法点击按钮。首先,我们需要借助任何定位器(如 id、name、class、XPath、tagname 或 CSS 选择器)来识别要点击的按钮。然后,我们必须在其上应用 click() 方法。

常用方法

在 Python 中点击 Selenium 按钮的两种常用方法是使用诸如 Xpath 之类的定位器以及使用 JavaScript 执行器

  • 使用 X_path 定位器:用于定位网页上带有文本的按钮的属性。

  • 使用 'execute_script()' 方法:此方法使用 JavaScript 来点击按钮。

使用 X_path 定位按钮

Xpath(XML 路径语言)用于定位网页中的元素。当元素没有易于访问的 ID 或类名时,我们可以使用此方法。

l = driver.find_element_by_xpath("//button[text()='Check it Now']")

此方法提供了从文档根目录到元素的完整路径。通过使用此 X_path,我们可以根据各种属性(文本、类)定位元素。

打开浏览器和 URL

我们必须创建一个 WebDriver 对象,使我们能够打开一个 web 浏览器以及网页的 URL。在下面的代码中,'get()' 函数用于在 Chrome 浏览器中打开 Selenium URL('https://www.Example.com/')。

# creating an object of  chrome webdriver
driver = webdriver.Chrome(executable_path = r'./chromedriver')
# To open selenium URL in chrome browser
driver.get('https://www.Example.com')

使用 click 方法的代码实现

在下面的示例代码中,driver = webdriver.Chrome() 函数使用 Selenium 初始化浏览器,并提供 chromedriver 可执行文件的路径。找到按钮后,click() 方法会在按钮上执行点击操作。

from selenium import webdriver

# set chromodriver.exe path
driver = webdriver.Chrome(executable_path="C:\chromedriver.exe")

# implicit wait
driver.implicitly_wait(0.5)
#maximize browser
driver.maximize_window()

# launch URL
driver.get("https://tutorialspoint.com/index.htm")
#identify element
l =driver.find_element_by_xpath("//button[text()='Check it Now']")

# perform click
l.click()
print("Page title is: ")
print(driver.title)

# close browser
driver.quit()

使用 'execute_script()' 方法

Selenium 可以借助 execute_script()arguments[0].click() 方法执行 JavaScript 等命令,并且元素定位器 (X_path_) 作为参数传递给此方法。

driver.execute_script("arguments[0].click();", l);

使用 execute 方法的代码实现

在下面的示例代码中,driver.execute_script() 函数使用 JavaScript 来点击按钮,其中表达式 "arguments[0].click();" 点击传递的元素。

from selenium import webdriver

# set chromodriver.exe path
driver = webdriver.Chrome(executable_path="C:\chromedriver.exe")

# implicit wait
driver.implicitly_wait(0.5)
#maximize browser
driver.maximize_window()

# launch URL
driver.get("https://tutorialspoint.com/index.htm")
# identify element
l =driver.find_element_by_xpath("//button[text()='Check it Now']")

# perform click with execute_script
driver.execute_script("arguments[0].click();", l);
print("Page title is: ")
print(driver.title)

# close browser
driver.quit()

输出


更新于: 2024年9月10日

50K+ 浏览量

开启你的 职业生涯

通过完成课程获得认证

开始学习
广告