搬运:python构建一个Selenium脚本
- 学习笔记
- 18天前
- 24热度
- 0评论
搬运selenium手册的一篇,作笔记备忘。
逐步构建一个Selenium脚本的说明
当你完成 Selenium安装 后, 便可以开始书写Selenium脚本了.
八个基本组成部分
Selenium所做的一切, 就是发送给浏览器命令, 用以执行某些操作或为信息发送请求. 您将使用Selenium执行的大部分操作, 都是以下基本命令的组合
点击 “View full example on GitHub” 的链接以查看上下文中的代码.
1. 使用驱动实例开启会话
关于如何启动会话,请浏览我们的文档 驱动会话
1driver = webdriver.Chrome()
2. 在浏览器上执行操作
在本例中, 我们 导航 到一个网页.
xxxxxxxxxx
11driver.get("https://www.selenium.dev/selenium/web/web-form.html")
3. 请求 浏览器信息
您可以请求一系列关于浏览器的信息 , 包括窗口句柄、浏览器尺寸/位置、cookie、警报等.
xxxxxxxxxx
11title = driver.title
4. 建立等待策略
将代码与浏览器的当前状态同步 是Selenium面临的最大挑战之一, 做好它是一个高级主题.
基本上, 您希望在尝试定位元素之前, 确保该元素位于页面上, 并且在尝试与该元素交互之前, 该元素处于可交互状态.
隐式等待很少是最好的解决方案, 但在这里最容易演示, 所以我们将使用它作为占位符.
阅读更多关于等待策略 的信息.
xxxxxxxxxx
11driver.implicitly_wait(0.5)
5. 发送命令 查找元素
大多数Selenium会话中的主要命令都与元素相关, 如果不先找到元素, 就无法与之交互.
xxxxxxxxxx
21text_box = driver.find_element(by=By.NAME, value="my-text")
2submit_button = driver.find_element(by=By.CSS_SELECTOR, value="button")
6. 操作元素
对于一个元素, 只有少数几个操作可以执行, 但您将经常使用它们.
xxxxxxxxxx
21text_box.send_keys("Selenium")
2submit_button.click()
7. 获取元素信息
元素存储了很多被请求的信息.
xxxxxxxxxx
21message = driver.find_element(by=By.ID, value="message")
2text = message.text
8. 结束会话
这将结束驱动程序进程, 默认情况下, 该进程也会关闭浏览器. 无法向此驱动程序实例发送更多命令.
xxxxxxxxxx
11driver.quit()
搬运来源:https://www.selenium.dev/zh-cn/documentation/webdriver/getting_started/first_script/