博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
selenium之调用js解决淘宝点击下一页问题(JAVA版)
阅读量:7218 次
发布时间:2019-06-29

本文共 2363 字,大约阅读时间需要 7 分钟。

最近研究点击淘宝商品底部 点击“下一页”问题。今天经网友指导得解,感谢网友且听风吟和燊!

分析原因:没加载上和定位问题

解决思路:用js将浏览器滚动到底部,等待加载完,再进行点击

解决代码

package wxLinkParaser;import org.openqa.selenium.By;import org.openqa.selenium.JavascriptExecutor;import org.openqa.selenium.WebDriver;import org.openqa.selenium.WebElement;import org.openqa.selenium.chrome.ChromeDriver;public class click {    public boolean click(){        System.getProperties().setProperty("webdriver.chrome.driver", "C:/Program Files (x86)/Google/Chrome/Application/chromedriver.exe");        WebDriver webDriver = new ChromeDriver();               try{            webDriver.get("http://list.taobao.com/itemlist/default.htm?cat=50000671&viewIndex=1&as=0&atype=b&style=grid&same_info=1&isnew=2&tid=0&_input_charset=utf-8");            try{                Thread.sleep(5000); // 等待浏览器加载            } catch (InterruptedException e) {                e.printStackTrace();            }            webDriver.manage().window().maximize(); // 使浏览器窗口最大化            //js代码            String js1 = "return document.documentElement.scrollHeight;";  // 滑动条的位置值            String js2 = "scroll(0,10000);";                        ((JavascriptExecutor)webDriver).executeScript(js2);//执行js代码,返回浏览器滚动高度            try{                Thread.sleep(3000); //等待浏览器加载            } catch (InterruptedException e) {                e.printStackTrace();            }            ((JavascriptExecutor)webDriver).executeScript(js1);//执行js代码,滚动10000像素                                    try{                Thread.sleep(3000); // wait for web loading            } catch (InterruptedException e) {                e.printStackTrace();            }                           WebElement Whref = webDriver.findElement(By.cssSelector("a.J_Ajax.btn.next"));//得到要点击的“下一页”链接                         Whref.click();//进行点击             //webDriver.close();这句先注视掉,以便观察结果             return true;        }catch(org.openqa.selenium.NoSuchElementException ex){            System.out.println("找不到要的下一页链接!");            //webDriver.close();这句先注视掉,以便观察结果            return false;        }                        }            /**     * @param args     */    public static void main(String[] args) {        // TODO Auto-generated method stub        click c = new click();        if(c.click()){            System.out.println("点击成功!");        }    }}

 

 

 

 

转载于:https://www.cnblogs.com/Rosefxd/p/3655844.html

你可能感兴趣的文章
java主函数的含义
查看>>
中国大学MOOC —— 学习笔记(四)
查看>>
访问,ringbtn,
查看>>
致橡树
查看>>
一段测试代码,哦哦哦,
查看>>
uiimagepickercontroller,中文,--》摘
查看>>
第四次作业
查看>>
在python中调用js或者nodejs
查看>>
【年终总结】2年计划还是要有的,万一实现了呢?(转自叶小钗)
查看>>
数字图像处理学习笔记(1.1)---位图的读写、几何变换、傅里叶变换、直方图均衡...
查看>>
javascript数组顺序-----1冒泡的另一种比较好理解的写法
查看>>
数据结构-栈的实现之行编译器核心实现
查看>>
C++ Project 积累(2)
查看>>
(1)用VisualSvn Server,Tortoise Svn,AnkhSvn搭建Svn版本控制
查看>>
Mysql索引
查看>>
格式化输出
查看>>
hdu 3804 Query on a tree (树链剖分+线段树)
查看>>
定位、指南针、地理编码
查看>>
Kafka 简介
查看>>
MySQL 用户连接与用户线程
查看>>