selenium调用JS实现自动化

webdriver自带的api使用起来有局限性,比如下拉滚动条文本框输入,以及一些弹出框的操作,使用JS直接操作方便又灵活。

一:示例

from selenium import webdriver
from time import sleep
dr = webdriver.Chrome()
dr.get('https://www.baidu.com')


dr.find_element_by_id('kw').send_keys('python')
dr.find_element_by_id('su').click()
sleep(2)

js = "window.scrollTo(100,450);"
dr.execute_script(js)
sleep(2)

dr.quit()

以上示例操作百度搜索结果页面的滚动条往下拉。

二:示例

from selenium import webdriver
from time import sleep
dr = webdriver.Chrome()
dr.get('https://www.baidu.com')


js1 = "document.querySelector('#kw').value='python'"
js2 = "document.querySelector('#su').click()"
dr.execute_script(js1)
dr.execute_script(js2)
sleep(2)

js3 = "window.scrollTo(100,450);"
dr.execute_script(js3)
sleep(2)

dr.quit()

元素定位也可以采用JS语句,这样直接在浏览器的F12进行验证后方便直接使用,具体如何验证请查看我的其他文章。

原文地址:https://www.cnblogs.com/huny/p/13466776.html