UIjavaScritIU
1、直接执行js脚本:document.documentElement.scrollTop=1000
- document.getElementById(“su”).click()
弊端: js自己带的元素定位方法不如selenium的丰富 不支持xpath css 等 定位元素操作不是很灵活。
需要借助js脚本传入 -selenium定位 js 负责执行动作。-- js传参方式执行
2、使用方式2-传参:driver.execute_script(“arguments[0]…”,element) ==用的更多 重点掌握
- element是 通过Selenium元素定位找到对应的元素:
- element = driver.find_element(By.ID,“XX”)
- 可以通过八大元素定位方法定位到元素 更加灵活
- arguments[0]代表就是传递进来js脚本的第一个参数,也就是element这个值 【把selenium定位到的元素通过传参的方式给js脚本执行】
- driver.execute_script(“arguments[0]…”,element)
- js脚本里可以传多个参数,arguments[1]代表的就是传递进来的第二个参数,依次类推
- driver.execute_script(‘arguments[0][arguments[1].click()’, elements, 1)
"""
直接执行js脚本:document.documentElement.scrollTop=1000document.getElementById("su").click()弊端: js自己带的元素定位方法不如selenium的丰富 不支持xpath css 等 定位元素操作不是很灵活。
需要借助js脚本传入 -selenium定位 js 负责执行动作。"""
import timefrom selenium import webdriver# 1、js定位元素 js点击
from selenium.webdriver.common.by import Bydriver = webdriver.Chrome()
driver.maximize_window()
driver.get('https://www.baidu.com')
time.sleep(2)
# 先用selemiun定位元素
ele = driver.find_element(By.ID,'su')#1、 用代码执行js脚本- 滚动滚动条
driver.execute_script('arguments[0].click()',ele)time.sleep(3)
driver.quit()
JavaScript总结使用
1、页面的滚动/内嵌滚动条滚动
document.documentElement.scrollTop = 200
先要去找到内嵌滚动条元素,再去进行滚动【scrollTop】
2、点击:click()
3、修改元素的属性(删掉/改变元素的属性)
removeAttribute()
setAttribute()