Selenium Python WebDriver教程(示例)

⚡ 智能摘要

Selenium - Python 将 WebDriver 自动化库与 Python 简洁的语法,用于跨平台测试 Web 应用程序 FirefoxChrome 和 Internet Explorer。本教程将指导您如何配置。 PyDev in Eclipse编写登录脚本,并解释团队为何更喜欢它 Python 超过 Java.

  • 🐍 Python 优势: Less 冗长的语法 Selenium 脚本更易于阅读和维护。
  • 🌐 WebDriver: 向 Firefox无论浏览器设计如何,Chrome 和 IE 都适用。
  • 🧩 PyDev 建立: 安装 PyDev 插件 Eclipse 并设置 Python 口译员。
  • 📝 登录脚本: 通过 ID 定位字段,发送密钥,并自动提交表单。
  • 所有权主张: WebDriverWait 加上 assert 会在登录后验证页面标题。
  • 🤖 人工智能辅助: 人工智能工具生成定位器和 Selenium Python 从纯文本提示符生成脚本。

Selenium Python WebDriver教程

Selenium - Python

Selenium 支持 Python 因此可以用作 Selenium WebDriver 具有 Python 供测试用。

  • Python 与其他编程语言相比,它很容易上手,语法也简洁得多。
  • 此 Python API 可让你通过以下方式连接浏览器 Selenium.
  • Selenium 发送标准 Python 尽管浏览器设计存在差异,但可以向不同的浏览器发出命令。

你可以跑 Selenium - Python 脚本用于 Firefox例如,Chrome、IE 等浏览器在不同操作系统上的兼容性。

什么是 Python?

Python 是一种高级面向对象脚本语言。它的设计非常用户友好。 Python 它使用简单的英语关键词,易于理解。与其他任何语言相比,它的语法复杂性都更低。 编程语言.

请参阅下表中的一些示例。

关键字 用法
ELIF 否则,如果 否则,如果
其他 其他 如果:X;否则:Y;否则:J
如果发生异常,请执行以下操作 除了 ValueError,a:打印 a
EXEC 运行字符串为 Python 执行‘打印“hello world!”’

什么是 Selenium?

Selenium 是一个用于测试 Web 应用程序的工具。您可以通过多种方式进行测试,例如:

  • 允许它点击按钮。
  • 在表单中输入内容。
  • 浏览您的网站以检查一切是否“正常”等等。

如何安装和配置 PyDev in Eclipse

PyDev 是 Python 开发环境 Eclipse.

步骤1) 在MyCAD中点击 软件更新 Eclipse 应用商店。帮助 > 安装新软件。

安装和配置 PyDev in Eclipse

下一步是安装“pydev IDE”。 Eclipse.

步骤2) 在此步骤中:

  1. 在“使用”中搜索“http://pydev.org/updates”,然后
  2. 选择所有列出的项目,然后单击“下一步”两次。
  3. 接受许可协议,然后单击“完成”。

安装和配置 PyDev in Eclipse

步骤3) 您可能会遇到安全警告。点击“仍然安装”。

安装和配置 PyDev in Eclipse

步骤4) 设置偏好以便您可以使用 Python 根据项目需要。转到“窗口”>“首选项”> PyDev > 翻译 > Python 口译员。

安装和配置 PyDev in Eclipse

设置默认值 Python 解释器,就像您设置的那样 Java 用于运行的编译器 Java 代码。要更改解释器名称,请单击“浏览 python/pypy exe”按钮。

安装和配置 PyDev in Eclipse

步骤5) 在此步骤中,给出“解释器名称”和“exe”文件路径 Python.

  1. 单击“浏览”并找到安装的 python.exe Python.
  2. 单击“确定”按钮。
  3. 选择所有文件夹,然后单击确定。
  4. 点击“应用并关闭”。

安装和配置 PyDev in Eclipse

步骤6) 创建一个新项目 Python在此步骤中:

  1. 右键点击 PyDev 包资源管理器 > 新建。
  2. 选择其他选项。

安装和配置 PyDev in Eclipse

  1. 选择“PyDev > PyDev 项目”。
  2. 按下“下一步”按钮。

安装和配置 PyDev in Eclipse

  1. 给你的项目命名。
  2. 点击“完成”。

安装和配置 PyDev in Eclipse

你可以看到新的 Python (PyDev) 项目已创建。

步骤7) 创建之后PyDev 项目”,你将创建一个新的 Python 包。

  1. 右键单击项目>新建> PyDev 包。
  2. 给包裹命名,然后点击完成。

安装和配置 PyDev in Eclipse

安装和配置 PyDev in Eclipse

步骤8) 如下面的截图所示,已创建了一个新软件包。

安装和配置 PyDev in Eclipse

接下来,创建一个 PyDev 模块。该模块包含 Python 用于初始化的文件,其函数可以导入到另一个模块中,从而避免重写程序。

步骤9) 创建一个新的 PyDev 模块。右键单击包 > 新建 > PyDev 模块。

安装和配置 PyDev in Eclipse

给你的模块命名,然后点击“完成”。

安装和配置 PyDev in Eclipse

选择空白模板,然后单击“确定”。

安装和配置 PyDev in Eclipse

步骤10) 编写代码 Selenium - Python 如下所示。

安装和配置 PyDev in Eclipse

如何在 Selenium - Python

在本 Selenium WebDriver 具有 Python 例如,我们使用以下方法实现了“Facebook 登录页面”的自动化: Firefox 驱动程序。

Selenium - Python 示例 1:登录 Facebook

from selenium import webdriver
from selenium.webdriver.common.keys import Keys
user_name = "YOUR EMAILID"
password = "YOUR PASSWORD"
driver = webdriver.Firefox()
driver.get("https://www.facebook.com")
element = driver.find_element_by_id("email")
element.send_keys(user_name)
element = driver.find_element_by_id("pass")
element.send_keys(password)
element.send_keys(Keys.RETURN)
element.close()

快照 Code

在中创建测试脚本 Selenium - Python

代码说明

  • Code 第1行: 从 selenium 模块导入 webdriver。
  • Code 第2行: 从 selenium 模块导入 Keys。
  • Code 第3行: user_name 是一个用于存储用户名的变量。
  • Code 第4行: 变量“password”将用于存储密码的值。
  • Code 第5行: 初始化“Firefox”通过使其成为对象。
  • Code 第6行: “driver.get”方法会导航到指定的页面。 URLWebDriver 会等待页面完全加载后才将控制权返回给你的脚本。
  • Code 第7行: 找到需要输入“email”的文本框元素。
  • Code 第8行: 将这些值发送到电子邮件部分。
  • Code 第9行: 密码也一样。
  • Code 第10行: 将值发送到密码部分。
  • Code 第11行: element.send_keys(Keys.RETURN) 在插入值后按下回车键。
  • Code 第12行: 关闭。

输出: 用户名“guru99”和密码已输入。

在中创建测试脚本 Selenium - Python

Facebook页面将使用邮箱和密码登录。页面已打开(见下图)。

在中创建测试脚本 Selenium - Python

Selenium - Python 示例 2:登录 Facebook 并查看标题

在这个例子中,我们将打开一个登录页面,填写必填字段“用户名”和“密码”,并检查页面标题。

from selenium import webdriver
from selenium.webdriver.support.ui import WebDriverWait
# Step 1) Open Firefox
browser = webdriver.Firefox()
# Step 2) Navigate to Facebook
browser.get("http://www.facebook.com")
# Step 3) Search & Enter the Email or Phone field & Enter Password
username = browser.find_element_by_id("email")
password = browser.find_element_by_id("pass")
submit   = browser.find_element_by_id("loginbutton")
username.send_keys("YOUR EMAILID")
password.send_keys("YOUR PASSWORD")
# Step 4) Click Login
submit.click()
wait = WebDriverWait( browser, 5 )
page_title = browser.title
assert page_title == "Facebook"

代码快照

在中创建测试脚本 Selenium - Python

代码说明:

  • Code 第 1-2 行: 导入selenium包。
  • Code 第4行: 初始化 Firefox 通过创建一个对象。
  • Code 第6行: 获取登录页面(Facebook)。
  • Code 第 8-10 行: 获取用户名、密码输入框和提交按钮。
  • Code 第 11-12 行: 请在用户名和密码输入框中输入数据。
  • Code 第14行: 点击“提交”按钮。
  • Code 第15行: 创建一个超时时间为 5 秒的等待对象。
  • Code 第16行: 从“浏览器”对象中获取标题。
  • Code 第17行: 使用“Facebook”测试捕获的标题字符串。

为什么选择 Python 超过 Java in Selenium

几个有利因素 Python 超过 Java 用于 Selenium 是:

  1. Java 程序运行速度通常比 Python 程式。
  2. Java 使用传统的括号来开始和结束代码块,而 Python 使用缩进。
  3. Java 采用静态类型ping,而 Python 是动态类型的。
  4. Python 相比之下更简单、更紧凑 Java.

常见问题

运行 pip install selenium。现代 Selenium 附带 Selenium 管理器会自动下载匹配的浏览器驱动程序,因此无需手动设置 chromedriver。

WebDriver是 Selenium 一个驱动真实浏览器的界面,向浏览器发送命令 Firefox使用 Chrome 或 Edge 浏览器来控制导航、点击和表单输入。

Selenium 4 移除了 find_element_by_id。使用 By 类:from selenium.webdriver.common.by import By,然后 driver.find_element(By.ID, “email”)。

隐式等待会在设定的时间内轮询 DOM。显式等待(WebDriverWait)会暂停直到满足特定条件。避免混用这两种等待方式,以防止出现不可预测的等待时间。

序号 PyDev in Eclipse 这是一种选择。你也可以运行 Selenium Python 脚本中的 PyCharm, VS Code或者通过命令行。

Selenium WebDriver 支持 FirefoxChrome、Edge、Safari 和 Internet Explorer。相同 Python 脚本通过交换来遍历它们。ping 司机。

是的。像 ChatGPT 这样的 AI 助手可以将纯文本测试描述转换成 Selenium Python 编写代码,建议定位器,并将旧的 find_element_by_id 调用转换为 By 语法。

是的。GitHub Copilot 会推荐稳定的定位器,解释 NoSuchElementException 错误,并建议显式等待,从而减少动态页面上不稳定的测试。

总结一下这篇文章: