繁体   English   中英

Java Selenium Click元素不起作用

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM