- Selenium Webdriver 教程
- 家
- 介绍
- 安装
- 浏览器导航
- 识别单个元素
- 识别多个元素
- 显式等待和隐式等待
- 弹出窗口
- 向后和向前导航
- cookie
- 例外情况
- 动作类
- 创建基本测试
- 形式
- 拖放
- 视窗
- 警报
- 处理链接
- 处理编辑框
- 颜色支持
- 在 Python 中生成 HTML 测试报告
- 从 Excel 读取/写入数据
- 处理复选框
- 在多个浏览器中执行测试
- 无头执行
- 等待支持
- 选择支持
- JavaScript 执行器
- Chrome WebDriver 选项
- 滚动操作
- 捕获屏幕截图
- 右键点击
- 双击
- Selenium Webdriver 有用资源
- Selenium WebDriver - 快速指南
- Selenium WebDriver - 有用的资源
- Selenium WebDriver - 讨论
Selenium Webdriver - JavaScript 执行器
Selenium 可以借助execute_script 方法执行JavaScript 命令。要执行的命令作为参数传递给此方法。我们可以在 JavaScript Executor 的帮助下执行浏览器操作,例如单击链接。
执行Javascript命令的语法如下:
b = driver.find_element_by_id("txt") driver.execute_script ("arguments[0].click();",b)
代码实现
执行Javascript命令的代码实现如下 -
from selenium import webdriver driver = webdriver.Chrome(executable_path='../drivers/chromedriver') #implicit wait time driver.implicitly_wait(5) #url launch driver.get("https://www.tutorialspoint.com/about/about_careers.htm") #click with JavaScript Executor b = driver.find_element_by_link_text("Cookies Policy") driver.execute_script ("arguments[0].click();",b) print('Page title after click: '+ driver.title) #driver quit driver.quit()
输出
输出显示消息 - Process with exit code 0 表示上述 Python 代码执行成功。此外,单击后应用程序的页面标题(从 driver.title 方法获取) - 关于 Tutorials Point 的 Cookies 政策 - Tutorialspoint 会打印在控制台中。
执行脚本
Selenium 无法直接处理滚动功能。Selenium 可以借助execute_script 方法执行JavaScript 命令。要执行的 JavaScript 命令作为参数传递给此方法。
在execute_script方法的帮助下执行Javascript命令的语法如下:
driver.execute_script("window.scrollTo(0, document.body.scrollHeight);")
方法scrollTo 用于滚动到浏览器窗口中的某个位置。滚动高度是元素的一个属性。document.body.scrollHeight 产生网页的高度。
代码实现
借助execute_script方法执行Javascript命令的代码实现如下 -
from selenium import webdriver driver = webdriver.Chrome(executable_path='../drivers/chromedriver') #implicit wait time driver.implicitly_wait(5) #url launch driver.get("https://www.tutorialspoint.com/index.htm") #scroll to page bottom driver.execute_script("window.scrollTo(0, document.body.scrollHeight);")
输出
输出显示网页已滚动到页面底部。