[英]Java selenium click element not working
我想单击页面中的“ 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();
如何使它单击链接。
您可以使用xpath下面的两次来单击Load More按钮:
driver.findElement(By.xpath("//*[@id='blocks-left']/div/div[3]/div[contains(.,'Load More')]")).click();
单击此按钮后,它会更改位置,并且可以单击两次,因此:
首次点击使用之前
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();
也许从另一个角度来看待它。 您是否真的需要单击链接,还是单击链接时调用了某些Javascript函数(例如window.loadMore)。 您可以直接调用该函数吗? Selenium有点烦人,因为您只能单击可见元素(我不是说它必须在视口中-它不能具有display:none;之类的样式)。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.