我想点击页面中的load More
链接。我的代码如下。
pageUrl="http://www.foundpix.com/category/actor/bollywood-actor/"
WebDriver driver = new FirefoxDriver();
driver.get(pageUrl);
driver.manage().window().maximize();
JavascriptExecutor jse = (JavascriptExecutor) driver;
jse.executeScript("window.scrollBy(0,2500)", "");
WebDriverWait wait = new WebDriverWait(driver, 60);
wait.until(ExpectedConditions.visibilityOfElementLocated(By.id("json_click_handler")));
driver.findElement(By.id("json_click_handler")).click();
如何点击链接。
答案 0 :(得分:2)
您可以使用以下xpath点击加载更多按钮: -
driver.findElement(By.xpath("//*[@id='blocks-left']/div/div[3]/div[contains(.,'Load More')]")).click();
答案 1 :(得分:0)
此按钮会在您点击它后更改位置,并且可以单击两次以便:
首次点击前使用
driver.findElement(By.xpath("//*[@id="blocks-left"]/div/div[3]/div")).click();
首次点击后,您可以使用
driver.findElement(By.xpath("//*[@id="blocks-left"]/div/div[3]/div[2]")).click();
答案 2 :(得分:0)
也许从不同的角度来看待它。你是否真的需要点击链接,或者你是否有点击链接调用的Javascript函数(如window.loadMore)。你能直接调用这个函数吗? Selenium有点烦人,因为你只能点击一个可见元素(我不是说它必须在视口中 - 它只是不能有像display:none;这样的样式。)。