📜  使用Python和Selenium按文本单击按钮

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

使用Python和Selenium按文本单击按钮

Selenium是一种工具,它提供 API 来自动化 Web 应用程序以帮助其测试。在本文中,我们讨论了使用Selenium Python API 绑定访问Selenium WebDrivers 以通过按钮中存在的文本单击按钮。在以下示例中,我们将借助 Chrome。使用的方法是find_element_by_link_text() ,它使用存在的文本抓取元素。如果没有具有给定文本属性的此类元素,则返回NoSuchElementException

安装:

确保您已使用Selenium安装

pip3 install Selenium

并为您的网络浏览器下载 WebDriver:

Chrome : https://chromedriver.chromium.org/downloads
Firefox : https://github.com/mozilla/geckodriver/releases
Safari : https://webkit.org/blog/6900/webdriver-support-in-safari-10/

一旦Selenium与所需的 WebDriver 一起安装,我们创建一个文件 script.py 并使用我们的代码编辑器编写下面的Python脚本,该脚本使用Selenium WebDriver 打开 geeksforgeeks 网站,并使用链接文本单击“登录”按钮。

句法:



driver.find_element_by_link_text("sample text")

循序渐进的方法:

  • 导入所需的模块。
  • 创建 webdriver 对象。
  • 分配网址。
  • 使用maximize_window()方法最大化浏览器窗口。然后使用sleep()方法等待 10 秒钟。
  • 使用find_element_by_link_text()方法按文本单击按钮。

下面是实现。

Python3
# import module
from selenium import webdriver
import time
  
# Create the webdriver object. Here the 
# chromedriver is present in the driver 
# folder of the root directory.
driver = webdriver.Chrome(r"./driver/chromedriver")
  
# get https://www.geeksforgeeks.org/
driver.get("https://www.geeksforgeeks.org/")
  
# Maximize the window and let code stall 
# for 10s to properly maximise the window.
driver.maximize_window()
time.sleep(10)
  
# Obtain button by link text and click.
button = driver.find_element_by_link_text("Sign In")
button.click()


输出:

首先,WebDriver 打开带有 geeksforgeeks 的窗口,将其最大化,然后等待 10 秒。然后单击“登录”按钮并打开注册面板。