selenium 调用JavaScript代码

 


selenium 调用JavaScript代码

调用JavaScript方法有两种:

execute_script():

方法解释:是同步方法,用它执行js代码会阻塞主线程执行,直到js代码执行完毕。

 

execute_script()方法如果有返回值,会有以下几种情况:

  • 返回一个页面元素(document element),这个方法就会返回衣蛾WebElement
  • 返回浮点数数字,这个方法就返回一个double类型的数字
  • 返回非浮点数字,方法返回long类型数字
  • 返回blloean类型,方法返回Boolean类型
  • 返回一个数组,方法发挥一个List类型
  • 其他情况,返回一个字符串

execute_async_script():

方法解释:是异步方法,它不会阻塞主线程执行

 

实例:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
#调用JavaScript代码
#coding utf-8
from selenium import webdriver
from time import sleep
 
#访问百度
driver = webdriver.Firefox()
driver.get("http://www.baidu.com")
 
#设置浏览器窗口大下
driver.set_window_size(500,800)
 
#搜索
driver.find_element_by_id('kw').send_keys('python selenium')
driver.find_element_by_id('su').click()
sleep(2)
 
#通过javascript设置浏览器窗口的滚动条位置
js = "window.scrollTo(100,450);"
driver.execute_script(js)  #执行JavaScript代码
#driver.execute_async_script()
sleep(2)
 
driver.quit()

  

 

posted @   局长  阅读(7070)  评论(0编辑  收藏  举报
编辑推荐:
· go语言实现终端里的倒计时
· 如何编写易于单元测试的代码
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
阅读排行:
· 分享一个免费、快速、无限量使用的满血 DeepSeek R1 模型,支持深度思考和联网搜索!
· 使用C#创建一个MCP客户端
· ollama系列1:轻松3步本地部署deepseek,普通电脑可用
· 基于 Docker 搭建 FRP 内网穿透开源项目(很简单哒)
· 按钮权限的设计及实现
点击右上角即可分享
微信分享提示