selenium可以在代码中使用js命令,这个功能很好用。
使用方法:((JavascriptExecutor) webDriver).executeScript(“js代码”);
js代码:可以直接写js代码,也可以调用页面中已经存在的js方法。
selenium爬虫中常用的js代码:
1、操作滚动条
((JavascriptExecutor)webDriver).executeScript("window.scrollBy(0, document.body.scrollHeight)");//将滚动条拖动到页面的底部
如果想要慢慢的拖动滚动条到底部,比如间隔5秒,每秒拖动五分之一,可以这样实现:
for(int i=1;i<=5;i++){
((JavascriptExecutor)webDriver).executeScript("window.scrollBy(0, document.body.scrollHeight)");//拖动整个页面高度的五分之一
Thread.sleep(1000);
}
2、提交form表单
((JavascriptExecutor)webDriver).executeScript("document.getElementById(‘表单id’).submit()");
3、移除页面元素
(JavascriptExecutor)webDriver).executeScript("document.getElementsByClassName('layui-form layui-border-box layui-table-view')[0].remove()");//通过class名称移除元素,remove()改成innerHTML=''也可以
(JavascriptExecutor)webDriver).executeScript("document.getElementById('id').remove()");//通过id移除元素,remove()改成innerHTML=''也可以
4、显示元素
((JavascriptExecutor)webDriver).executeScript("document.getElementById('id').style.display='block'");
5、隐藏元素
((JavascriptExecutor)webDriver).executeScript("document.getElementById('id').style.display='none'");
6、使用return可以返回元素
WebElement obj = (WebElement) ((JavascriptExecutor)webDriver).executeScript("return document.getElementById('virus-2020')");
7、打开一个新的页面
((JavascriptExecutor)webDriver).executeScript("window.open('')");//打开一个新的标签页面