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进行验证后方便直接使用,具体如何验证请查看我的其他文章。