selenium中如何执行JS方法

Posted Mojito

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了selenium中如何执行JS方法相关的知识,希望对你有一定的参考价值。

可以利用selenium的  browser.execute_script(\'JS方法\')来实现。举例如下:

想点击网页的登录按钮时,发现由于网页没有最大化导致元素隐藏定位失败,这里不用maximize_window(),我们用执行JS的方法来实现下。

 

 

 由于网页没有被最大化,元素被隐藏:

 

 

 

具体执行步骤如下:

1.可以先在console下利用JS方法:window.scrollBy()方法来查看多大比例合适:

 

 

2.利用selenium的browser.execute_script()方法来执行上面的JS方法:

browser.execute_script(\'window.scrollBy(200,0)\')

 1 from selenium import webdriver
 2 browser = webdriver.Chrome()
 3 browser.implicitly_wait(3)
 4 #打开网页#
 5 browser.get(\'https://music.163.com/#/discover/toplist\')
7 #向右移动页面# 8 browser.execute_script(\'window.scrollBy(200,0)\') 9 10 #获取登录按钮并进行点击# 11 browser.find_element_by_xpath(\'//a[@class="link s-fc3"]\').click()

 

以上是关于selenium中如何执行JS方法的主要内容,如果未能解决你的问题,请参考以下文章

Selenium JavascriptExecutor 详解

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

selenium+火狐浏览器如何关闭执行日志啊

selenium之调用Javascript

selenium对js的执行操作——selenium控制浏览器页面的滚动

XSS:如何从 C# 中的字符串中删除 JS 片段?