Selenium 与JavaScript 交互
Posted CSR-kkk
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Selenium 与JavaScript 交互相关的知识,希望对你有一定的参考价值。
Selenium 执行 js 的好处
- 解决一些 click() 不生效的问题
- 页面滚动到底部,顶部
- 处理富文本,时间控件的输入
- …
如何调用js
- execute_script:执行js
- return:返回 js 的返回结果
- execute_script:arguments传参
"""返回元素"""
element = self.driver.execute_script("return document.getElementById('su')")
element.click()
"""滚动到页面指定位置"""
self.driver.execute_script("document.documentElement.scrollTop=10000")
"""获得页面的信息"""
for code in [
# 获得页面标题, 获得页面的性能信息
'return document.title', 'return JSON.stringify(performance.timing)'
]:
print(self.driver.execute_script(code))
"""处理时间控件"""
self.driver.execute_script("a=document.getElementById('train_date');a.removeAttribute('readonly')")
"""arguments 传参"""
element = driver.find_element(by, locator)
# arguments[0]代表所传值element的第一个参数
driver.execute_script("arguments[0].click();", element)
以上是关于Selenium 与JavaScript 交互的主要内容,如果未能解决你的问题,请参考以下文章
如何在 C# 中单击带有 selenium webdriver 的 javascript 确认对话框
用python实现模拟登录,突破反爬限制,Selenium库详解(附全部源代码)
用python实现模拟登录,突破反爬限制,Selenium库详解(附全部源代码)
Selenium:是不是有任何可以与 Selenium Server/RC 集成的 JS (JavaScript) 代码覆盖工具