Python+Selenium笔记(十五)调用JS

摘要:
(一)方法方法简单说明execute_async_script(script,args)异步执行JS代码script:被执行的JS代码args:js代码中的任意参数execute_script(script,args)同步执行JS代码script:被执行的JS代码args:js代码中的任意参数(二)示例fromselenium.webdriver.common.action_chainsimpor

(一)方法

方法

简单说明

execute_async_script(script, args)

异步执行JS代码

script:被执行的JS代码

args:js代码中的任意参数

execute_script(script, args)

同步执行JS代码

script:被执行的JS代码

args:js代码中的任意参数

(二)示例

from selenium.webdriver.common.action_chains importActionChains
from selenium importwebdriver
importtime
driver =webdriver.Chrome()
driver.implicitly_wait(20)
driver.maximize_window()
driver.get('https://www.cnblogs.com/')
#给元素加上红色边框,0.3秒后还原
defhighlightElement(element):
    driver.execute_script("arguments[0].setAttribute('style',arguments[1]);",element,
                          "border:2px solid red;")
    time.sleep(0.3)
    driver.execute_script("arguments[0].setAttribute('style',arguments[1]);", element,
                          "")
program_lan = driver.find_element_by_xpath('//li[@id="cate_item_2"]/a')
program_py = driver.find_element_by_xpath('//li/a[@href="http://t.zoukankan.com/cate/python/"]')
highlightElement(program_lan)
#鼠标先移动到“编程语言”上,然后点击Python
ActionChains(driver).move_to_element(program_lan).click(program_py).perform()
driver.quit()

免责声明:文章转载自《Python+Selenium笔记(十五)调用JS》仅用于学习参考。如对内容有疑问,请及时联系本站处理。

上篇百度地图 JSAPI使用 定位当前地址 与路径规划ioctl方法详解下篇

宿迁高防,2C2G15M,22元/月;香港BGP,2C5G5M,25元/月 雨云优惠码:MjYwNzM=

相关文章

跨域(三)——JSONP

一、什么是JSONP? 百度百科:JSONP(JSON with Padding)是JSON的 一种“使用模式”,可用于解决主流浏览器的跨域数据访问的问题。由于同源策略,一般来说位于 server1.example.com 的网页无法与不是 server1.example.com的服务器沟通,而 HTML 的<script> 元素是一个例外。利...

jquery js 动态加载 js文件

jquery方法 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xh...

BUI 框架使用指南

  指南说明:只适用于对框架的剥离 如果不需要剥离则原来的东西直接粘贴就行  在主界面中使用时需要加入一下引用bui.js jquery.js config.js 末尾的文件 BUI.use(位置1, function ()  其中位置一需要填写你的main-min.js 文件所在的路径以及main的文件名 例如我的文件在Resouce/JS/main-...

js设置自动刷新

如何实现刷新当前页面呢?借助js你将无所不能。 1,reload 方法,该方法强迫浏览器刷新当前页面。语法:location.reload([bForceGet])   参数: bForceGet, 可选参数, 默认为 false,从客户端缓存里取当前页。true, 则以 GET 方式,从服务端取最新的页面, 相当于客户端点击 F5("刷新") 2,re...

【cocos2d-js官方文档】二十四、如何在android平台上使用js直接调用Java方法

在cocos2d-js 3.0beta中加入了一个新特性,在android平台上我们可以通过反射直接在js中调用java的静态方法。它的使用方法很简单: var o = jsb.reflection.callStaticMethod(className, methodName, methodSignature, parameters...) 在callS...

Web Worker

写在前面 众所周知,JavaScript是单线程的,JS和UI更新共享同一个进程的部分原因是它们之间互访频繁,但由于共享同一个进程也就会造成js代码在运行的时候用户点击界面元素而没有任何响应这样的情况,这么糟糕的用户体验HTML5怎么会不修订了,这样Web Worker诞生了。 简介 Web Worker进程加载的js运行的时候不仅不会影响浏览器UI,而且...