Selenium Python 中的 Web 元素方法

Fariba Laiq 2024年2月15日
  1. 安装 Selenium 和 Chrome WebDriver
  2. Selenium Python 中的 Web 元素方法
Selenium Python 中的 Web 元素方法

Selenium 是一个强大的 Web 浏览器自动化和测试工具。我们使用 Selenium 编写脚本,它控制 Web 浏览器并执行特定操作。

安装 Selenium 和 Chrome WebDriver

要安装 Selenium,我们使用以下命令。

#Python 3.x
pip install selenium

ChromeDriver 是 Selenium WebDriver 用来与 Chrome 交互的另一个可执行文件。如果我们想在 Chrome 网络浏览器上自动执行任务,我们还需要安装 ChromeDriver。

根据 Chrome 浏览器的版本,我们需要为其选择兼容的驱动程序。以下是安装和配置 Chrome 驱动程序的步骤:

  1. 点击这个链接。根据你的 Chrome 浏览器版本和操作系统类型下载 Chrome 驱动程序。
  2. 如果要查找 Chrome 浏览器的版本,点击 Chrome 右上角的三个点,点击帮助,选择关于谷歌浏览器。你可以在 about 部分查看 Chrome 版本。
  3. 解压 zip 文件并运行 Chrome 驱动程序。

Selenium Python 中的 Web 元素方法

Web 元素是网站上的 HTML 元素。它可以是文本字段、按钮、滚动条等。

这是我们想要与之交互的东西,比如执行单击、填充文本字段等。一旦我们在 Python 中获得了一个 Web 元素,我们就可以对 Selenium 提供的该元素应用许多方法。

例如,我们在 HTML 中有以下 web 元素。

<input type="text" name="email" id="email_id" />

我们使用以下代码片段通过其 name 定位网络元素。

element_tf = driver.find_element_by_name("email")

或者,如果我们通过它的 id 定位它,我们将使用此方法。

element_tf = driver.find_element_by_id("email_id")

得到元素后,我们可以对它应用很多方法。一些广泛使用的方法及其描述如下。

元素法 描述
click() 单击任何元素。
clear() 清除文本字段中的任何文本。
send_keys() 在文本字段中输入文本。
text 获取当前元素的文本。
screenshot() 截取当前元素的屏幕截图并将其保存为 PNG 文件。
submit() 在我们完成输入详细信息后提交表单的数据。
location 获取当前元素的位置。
size 返回元素的大小。
tag_name 返回当前元素的标签名称。
is_selected() 返回一个布尔值,指示元素是否被选中。
is_displayed() 返回一个布尔值,指示元素是否在屏幕上对用户可见
get_property() 返回元素的属性,如锚文本的 text_length 属性。
get_attribute() 返回元素的属性,例如锚标记的 href 属性。

演示 Web 元素方法的代码

我们在下面的代码中使用了上面的一些方法。我们使用 find_view_by_name() 方法通过名称获取 emailpassword 文本字段以及登录按钮。

我们使用 send_keys() 方法输入了虚拟电子邮件和密码,并使用 clear() 方法清除了 password 字段。我们使用 textlocationtag_name 方法提取了登录按钮的文本、位置和标签名称。

我们已经使用 is_selected()is_displayed() 方法检查了登录按钮是否被选中和显示。最后,我们使用 click() 方法单击了登录按钮。

# Python 3.x
from selenium import webdriver
from selenium.webdriver.common.keys import Keys
import time

driver = webdriver.Chrome(r"E:\download\chromedriver.exe")
driver.maximize_window()
driver.get("https://discpersonalitytesting.com/login-here/")
email = "myemail@email.com"
password = "mypassword1@23"
email_textfield = driver.find_element_by_name("email")
password_textfield = driver.find_element_by_name("password")
login_button = driver.find_element_by_name("LoginDAPLoginForm")
email_textfield.send_keys(email)
time.sleep(2)
password_textfield.send_keys(password)
time.sleep(3)
password_textfield.clear()
password_textfield.send_keys(password)
time.sleep(2)
print(login_button.text)
print(login_button.location)
print(login_button.is_selected())
print(login_button.is_displayed())
print(login_button.tag_name)
login_button.click()

输出:

Login
{'x': 251, 'y': 499}
False
True
button

元素方法

作者: Fariba Laiq
Fariba Laiq avatar Fariba Laiq avatar

I am Fariba Laiq from Pakistan. An android app developer, technical content writer, and coding instructor. Writing has always been one of my passions. I love to learn, implement and convey my knowledge to others.

LinkedIn

相关文章 - Python Selenium