Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/305.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 无法使用HtmlUnitDriver单击web元素 转到: 向下滚动,直到到达客户评论表 在桌子下面有一个分页选项卡,看起来像这样_Java_Selenium Webdriver_Htmlunit - Fatal编程技术网

Java 无法使用HtmlUnitDriver单击web元素 转到: 向下滚动,直到到达客户评论表 在桌子下面有一个分页选项卡,看起来像这样

Java 无法使用HtmlUnitDriver单击web元素 转到: 向下滚动,直到到达客户评论表 在桌子下面有一个分页选项卡,看起来像这样,java,selenium-webdriver,htmlunit,Java,Selenium Webdriver,Htmlunit,单击> 这意味着要进入表格的下一页 还有我使用的代码 WebDriver driver = new HtmlUnitDriver(); driver.manage().timeouts().implicitlyWait(20, TimeUnit.SECONDS); driver.get("http://list.qoo10.sg/item/REAL-JAPAN-VERSION-WORTH-120-24K/412131433"); WebElement findElement1 =

<1234567810>

单击
>
这意味着要进入表格的下一页

还有我使用的代码

WebDriver driver = new HtmlUnitDriver();
driver.manage().timeouts().implicitlyWait(20, TimeUnit.SECONDS);
driver.get("http://list.qoo10.sg/item/REAL-JAPAN-VERSION-WORTH-120-24K/412131433");        
WebElement findElement1 = 
    driver.findElement(By.cssSelector("td#opinion_point_1.rating"));          
String htmlTableText = findElement1.getText();
System.out.println(htmlTableText);
TimeUnit.SECONDS.sleep(10);
//next click    
WebElement click_button = 
    driver.findElement(By.cssSelector("div#paging.pagingInfo div.center a.next"));      
boolean click2=click_button.getAttribute("href").contains("javascript:opinionList(2)");  
click_button.click();
TimeUnit.SECONDS.sleep(10); 
WebElement findElement2 = 
    driver.findElement(By.cssSelector("td#opinion_point_1.rating"));          
String htmlTableText2 = findElement2.getText();
System.out.println(htmlTableText2);         
driver.close();
driver.quit();
我在单击之前和之后打印元素,但它不会更改。这意味着不执行单击。有什么建议吗

我尝试了以下修复,但得到了相同的结果

click_button.sendKeys(Keys.ENTER);


首先,您需要单击“下一页”,使用以下xpath,此xpath正好指向
图标:

//Wait for the next button
WebDriverWait wait = new WebDriverWait(driver, 10);
click_button = wait.until(ExpectedConditions.visibilityOfElementLocated(By.Xpath("//div[@id='paging']//a[@class='next']/span[text()='next']")));

//Click next button
click_button.click();
然后,单击“尝试等待”后,将突出显示
[2]
(即第二个)页面图标。此网站将所选页面的类设置为“当前”:

wait.until(ExpectedConditions.visibilityOfElementLocated(By.Xpath("//div[@id='paging']//a[@class='current'][text()='2']")));

是否仅为htmlunit错误?代码运行时没有错误,但单击没有响应是否仅为htmlunit结果?你试过其他驱动程序吗?我试过FireFoxDriver()&我在线程“main”java.lang.NoSuchMethodError:com.google.common.collect.Multimaps.transformValues(Lcom/google/common/collect/ListMultimap;Lcom/google/common/base/Function;)Lcom/google/common/collect/ListMultimap;这可能不是最好的建议方法,但您是否尝试过使用javascript单击按钮?类似这样的
WebElement=driver.findElement(By.xpath(“您的xpath或CSS”);JavascriptExecutor executor=(JavascriptExecutor)驱动程序;executor.executeScript(“参数[0]。单击();”,元素)
//Wait for the next button
WebDriverWait wait = new WebDriverWait(driver, 10);
click_button = wait.until(ExpectedConditions.visibilityOfElementLocated(By.Xpath("//div[@id='paging']//a[@class='next']/span[text()='next']")));

//Click next button
click_button.click();
wait.until(ExpectedConditions.visibilityOfElementLocated(By.Xpath("//div[@id='paging']//a[@class='current'][text()='2']")));