Selenium+python处理浏览器滚动条-010
2017-06-19 本文已影响221人
路由心定
当我们操作浏览器,很多时候会报找不到元素,一开始很纳闷,元素明明在那,怎么会找不到呢?尝试着做了下浏览器进度条滑动(下拉)操作,发现这才是我们的罪魁祸首!!!
为了写这篇文章在网上搜了很多关于selenium操作滚动条的实际例子,总结主流方法如下几种:
第一种我经常用的方法:
通过execute_script()执行js代码,操作浏览器滚动条,具体实例如下:
driver.execute_script("window.scrollBy(0,1000)")
scrollBy(x,y)语法:[x:横坐标,横向滑动;y:纵坐标,竖向滑动]
driver.execute_script("window.scrollTo(0,1000)")
scrollTo(x,y)元与scrollBy(x,y)一致
第二种方法:
通过控制滚动条的js代码操作(有兴趣的可以试试)
js="var q=document.documentElement.scrollTop=10000"
driver.execute_script(js)
看到网上很多关于模拟键盘(DOWN)操作来实现滚动条滑动的方法如下:
该id是百度搜索内容id
driver.find_element_by_xpath("//*[@id='wrapper_wrapper']").send_keys(Keys.DOWN)