JS操作

时间:2021-6-12 作者:qvyue

JavaScript(以后简称JS)是一种脚本语言,它在客户端上运行,即在浏览器上运行。

滚动条、时间控件等,借助JavaScript来完成。

WebDriver提供了一个内置方法来操作JavaScript,代码如下:

driver.execute_script(self,script,args)

可以通过两种方式在浏览器中执行JavaScript。

1.在文档根级别执行JavaScript

在文档根级别下,使用JavaScript提供的方法捕获想要的元素,然后声明一些操作并使用WebDriver执行此JavaScript。比如:

JSScript = “document.getElementsByName(‘input’)[1].click();”

driver.execute_script(JSScript)

2.在元素级别执行JavaScript

在元素级别下,使用WebDriver捕获想要使用的元素,然后使用JavaScript声明一些操作,并通过将Web元素作为参数传递给JavaScript来使用WebDriver执行此JavaScript。例如:

BtnName = driver.find_element_by_xpath(“//input[@name=’ go’]”)

driver.execute_script(“arguments[0].click();”, BtnName)

当有多个JS操作时,如下代码:

from selenium import webdriver

from time import sleep

driver = webdriver.Chrome()

driver.get(“https://cn.bing.com/”)

SearchName = driver.find_element_by_xpath(“//input[@name=’q’]”)

BtnName = driver.find_element_by_xpath(“//input[@name=’go’]”)

driver.execute_script(“arguments[0].value=’bella’; arguments[1].click(); “,SearchName,BtnName)

sleep(3)

driver.quit()

操作滚动条,代码如下:

import time

from seleniumimport webdriver

driver = webdriver.Chrome()

driver.get(“https://www.baidu.com”)

driver.find_element_by_id(“kw”).send_keys(“selenium”)

driver.find_element_by_id(“su”).click()

#通过js设置浏览器窗口的滚动条位置

js =”window.scrollTo(200,650);”

time.sleep(5)

driver.execute_script(js)

driver.quit()

声明:本文内容由互联网用户自发贡献自行上传,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任。如果您发现有涉嫌版权的内容,欢迎发送邮件至:qvyue@qq.com 进行举报,并提供相关证据,工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。