登陆

极彩平台登录-Selenium3 + Python3自动化测验系列——调用JavaScript代码

admin 2019-10-31 282人围观 ,发现0个评论

调用JavaScript代码

一、调用JavaScript代码办法

Selenium在对浏览器操作时会有主动化代码中不稳定的部分,常常犯错的部分,能够将这部分对网页元素进行操作的代码换成对应的JavaScript脚本,由于浏览器原生的支撑JavaScript,JavaScript代码直接在浏览器内核中履行,就不会呈现元素不在所点击的方位等过错,能够大大提高主动化用例履行的稳定性和履行功率。

调用JavaScript办法有两种:

1、execute_script():此是同步办法,用它履行js代码会堵塞主线程履行,直到js代码履行结束。

execute_script()办法假如有回来值,会有以下几种状况:

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

2、exe谢瑞麟cute_async_sc极彩平台登录-Selenium3 + Python3自动化测验系列——调用JavaScript代码ript():此是异步办法,它不会堵塞主线程履行。

二、execute_script()与execute_async_script()差异

同步履行JavaScript和异步履行JavaScript的差异

同步履行:driver.execute_script( js)

假如JavaScript代码的履行时间较短,能够挑选同步履行,由于Webdriver会等候同步履行的成果,然后极彩平台登录-Selenium3 + Python3自动化测验系列——调用JavaScript代码再运行其它的代码。

异步履行:driver.execute_async_script(js)

假如JavaScript代码的履行时间较长,能够挑选异步履行,由于Webdriver不会等候其履行成果,而是直接履行下面的代码。

三、举个栗子

咱们来举个栗子实践一下怎么运用,execute_script()调取履行JavaScript代码。调用简略的alert弹框js句子,详细代码如下:

咱们再来看一个栗子。咱们都知道,用于调整浏览器滚极彩平台登录-Selenium3 + Python3自动化测验系列——调用JavaScript代码动条方位的JavaScript极彩平台登录-Selenium3 + Python3自动化测验系列——调用JavaScript代码代码如下:win极彩平台登录-Selenium3 + Python3自动化测验系列——调用JavaScript代码dow.scrollTo(0,450);

window.scrollTo()办法用于设置浏览器窗口滚动条的水平缓笔直方位。办法的第一个参数表明水平的左距离,第二个参数表明笔直的上边距。其代码如下:

经过浏览器翻开百度进行查找,而且提早经过set_window_size()办法将浏览器窗口设置为固定宽高显现,意图是让窗口呈现水平缓笔直滚动条。然后通

过execute_script()办法履行JavaScripts代码来移动滚动条的方位。

JavaScript在WebDriver中还能够完成许多功用,咱们在后期实践过程中再总结

最终多说一句,小编是一名python开发工程师,这里有我自己整理了一极彩平台登录-Selenium3 + Python3自动化测验系列——调用JavaScript代码套最新的python体系学习教程,包含从根底的python脚本到web开发、爬虫、数据剖析、数据可视化、机器学习等。想要这些材料的能够重视小编,并在后台私信小编:“01”即可收取。

请关注微信公众号
微信二维码
不容错过
Powered By Z-BlogPHP