Java selenium click元素不起作用

时间:2015-07-18 02:52:09

标签: java selenium

我想点击页面中的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();

如何点击链接。

3 个答案:

答案 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;这样的样式。)。