selenium并不是万能的,页面上有些操作无法实现时,就需要借助JS代码来完成了。selenium提供了一个方法:execute_script(),可以执行JS脚本代码。
比如:当页面上的元素超过一屏后,想操作屏幕下方的元素,是不能直接定位到的,会报元素不可见的错误。这时候需要借助滚动条来拖动屏幕,使被操作的元素显示在当前的屏幕上。而滚动条是无法直接用定位工具来进行定位的,selenium也没有提供直接的方法去控制滚动条,这时候只能借助JS代码来完成。
一、JavaScript简介
为什么要了解JavaScript?因为有些特殊的操作是selenium+python无法直接完成的,而JavaScript刚好是这方面的强项,所以算是一个很好的补充。
JavaScript是一种运行在浏览器中的解释型编程语言:http://www.w3school.com.cn/js/index.asp4。
二、纵向滚动条
1)滚动条回到顶部
from selenium import webdriver
import time
driver = webdriver.Chrome()
driver.get('https://xa.ganji.com/')
time.sleep(1)
# 滚动条回到顶部
js = "window.scrollTo(0, 0)"
driver.execute_script(js)
<