Python怎么使用Selenium WebDriver
Selenium WebDriver 入门
一、什么是Selenium WebDriver
WebDriver 以本地化方式驱动浏览器,就像用户在本地或使用 Selenium 服务器的远程机器上所做的那样,这标志着浏览器自动化的飞跃。
Selenium WebDriver 指的是语言绑定和各个浏览器控制代码的实现。 这通常被称为 WebDriver。
Selenium WebDriver 是 W3C 推荐标准。
WebDriver 被设计成一个简单和简洁的编程接口。
WebDriver 是一个简洁的面向对象 API。
它能有效地驱动浏览器。
二、安装Selenium WebDriver
本文使用环境为python3.11 win10 64位 firefox浏览器,所以本文使用的浏览器驱动是Firefox的geckodriver ,如果你使用的是其他浏览器,那么选择自己对应的浏览器驱动程序即可。
2.1 安装selenium类库
最简单的方式就是使用pip直接安装
pip install selenium
2.2 安装浏览器驱动
通过WebDriver, Selenium支持市场上所有主要浏览器, 如Chrome、Firefox、Internet Explorer、Edge和Safari. WebDriver尽量使用浏览器内置的自动化支持 来驱动浏览器.
由于除Internet Explorer之外的所有驱动程序实现 都是由浏览器供应商自己提供的, 因此标准Selenium发行版中不包括这些驱动程序. 本节介绍了使用不同浏览器的基本要求.
打开以下网址https://www.selenium.dev/zh-cn/documentation/webdriver/getting_started/install_drivers/
找到浏览器驱动下载的链接,这里可以看到Selenium支持的多个浏览器驱动,你自己电脑上装了什么浏览器,就下载对应的驱动程序即可,本文使用的是firefox,所以选择firefox的驱动。
点击firefox驱动下载链接,进入到github的releases页面,可以看到各个版本的驱动程序,本文是win10 64位,选择的是 geckodriver-v0.32.0-win-aarch74.zip ,根据自己的系统选择对应的文件即可。
解压后是一个可执行文件,如下所示:
2.3 配置环境变量
依次打开我的电脑->属性->高级系统设置->环境变量,双击path,点击新建,输入驱动程序geckodriver.exe所在的目录即可,然后一路点击确定。
简单验证一下,新打开一个控制台,输入驱动程序文件名,此处为geckodriver.exe,能够正常打开即可
当然了,还有个野路子,就是直接把该驱动程序放到你的Python目录下Scripts文件夹中,执行python脚本的时候也能够直接打开即可。比如我的目录是D:PythonPython311Scripts
三、编写第一个Selenium脚本
当你完成 Selenium安装 and 驱动安装 后, 便可以开始书写Selenium脚本了。
Selenium所做的一切, 就是发送给浏览器命令, 用以执行某些操作或为信息发送请求. 您将使用Selenium执行的大部分操作, 都是以下基本命令的组合:
1.使用驱动实例开启会话
driver = webdriver.Firefox()
2.在浏览器上执行操作
在本例中, 我们 导航 到一个网页.
driver.get("https://www.selenium.dev/selenium/web/web-form.html")
3.请求浏览器信息
您可以请求一系列关于浏览器的信息 , 包括窗口句柄、浏览器尺寸/位置、cookie、警报等
title = driver.title
4.建立等待策略
将代码与浏览器的当前状态同步 是Selenium面临的最大挑战之一, 做好它是一个高级主题.基本上, 您希望在尝试定位元素之前, 确保该元素位于页面上, 并且在尝试与该元素交互之前, 该元素处于可交互状态。隐式等待很少是最好的解决方案, 但在这里最容易演示
driver.implicitly_wait(0.5)
5.发送命令 查找元素
大多数Selenium会话中的主要命令都与元素相关, 如果不先找到元素, 就无法与之交互
text_box = driver.find_element(by=By.NAME, value="my-text") submit_button = driver.find_element(by=By.CSS_SELECTOR, value="button")
6.操作元素
对于一个元素, 只有少数几个操作可以执行, 但您将经常使用它们
text_box.send_keys("Selenium") submit_button.click()
7.获取元素信息
value = message.text
8.结束会话
这将结束驱动程序进程, 默认情况下, 该进程也会关闭浏览器. 无法向此驱动程序实例发送更多命令
driver.quit()
让我们将这8个部分组合成一个完整的脚本, 包括需要使用的库
from selenium import webdriver from selenium.webdriver.common.by import By def test_eight_components(): driver = webdriver.Firefox() driver.get("https://www.selenium.dev/selenium/web/web-form.html") title = driver.title assert title == "Web form" driver.implicitly_wait(0.5) text_box = driver.find_element(by=By.NAME, value="my-text") submit_button = driver.find_element(by=By.CSS_SELECTOR, value="button") text_box.send_keys("Selenium") submit_button.click() message = driver.find_element(by=By.ID, value="message") value = message.text assert value == "Received!" driver.quit()
以上是Python怎么使用Selenium WebDriver的详细内容。更多信息请关注PHP中文网其他相关文章!

热AI工具

Undresser.AI Undress
人工智能驱动的应用程序,用于创建逼真的裸体照片

AI Clothes Remover
用于从照片中去除衣服的在线人工智能工具。

Undress AI Tool
免费脱衣服图片

Clothoff.io
AI脱衣机

Video Face Swap
使用我们完全免费的人工智能换脸工具轻松在任何视频中换脸!

热门文章

热工具

记事本++7.3.1
好用且免费的代码编辑器

SublimeText3汉化版
中文版,非常好用

禅工作室 13.0.1
功能强大的PHP集成开发环境

Dreamweaver CS6
视觉化网页开发工具

SublimeText3 Mac版
神级代码编辑软件(SublimeText3)

PHP主要是过程式编程,但也支持面向对象编程(OOP);Python支持多种范式,包括OOP、函数式和过程式编程。PHP适合web开发,Python适用于多种应用,如数据分析和机器学习。

PHP适合网页开发和快速原型开发,Python适用于数据科学和机器学习。1.PHP用于动态网页开发,语法简单,适合快速开发。2.Python语法简洁,适用于多领域,库生态系统强大。

Python更适合初学者,学习曲线平缓,语法简洁;JavaScript适合前端开发,学习曲线较陡,语法灵活。1.Python语法直观,适用于数据科学和后端开发。2.JavaScript灵活,广泛用于前端和服务器端编程。

在 VS Code 中,可以通过以下步骤在终端运行程序:准备代码和打开集成终端确保代码目录与终端工作目录一致根据编程语言选择运行命令(如 Python 的 python your_file_name.py)检查是否成功运行并解决错误利用调试器提升调试效率

VS Code可以在Windows 8上运行,但体验可能不佳。首先确保系统已更新到最新补丁,然后下载与系统架构匹配的VS Code安装包,按照提示安装。安装后,注意某些扩展程序可能与Windows 8不兼容,需要寻找替代扩展或在虚拟机中使用更新的Windows系统。安装必要的扩展,检查是否正常工作。尽管VS Code在Windows 8上可行,但建议升级到更新的Windows系统以获得更好的开发体验和安全保障。

PHP起源于1994年,由RasmusLerdorf开发,最初用于跟踪网站访问者,逐渐演变为服务器端脚本语言,广泛应用于网页开发。Python由GuidovanRossum于1980年代末开发,1991年首次发布,强调代码可读性和简洁性,适用于科学计算、数据分析等领域。

VS Code 扩展存在恶意风险,例如隐藏恶意代码、利用漏洞、伪装成合法扩展。识别恶意扩展的方法包括:检查发布者、阅读评论、检查代码、谨慎安装。安全措施还包括:安全意识、良好习惯、定期更新和杀毒软件。

VS Code 可用于编写 Python,并提供许多功能,使其成为开发 Python 应用程序的理想工具。它允许用户:安装 Python 扩展,以获得代码补全、语法高亮和调试等功能。使用调试器逐步跟踪代码,查找和修复错误。集成 Git,进行版本控制。使用代码格式化工具,保持代码一致性。使用 Linting 工具,提前发现潜在问题。
