java - 鼠标悬停操作 - 无法单击隐藏链接

标签 java selenium selenium-webdriver

使用 move-to-element 后,我​​无法点击隐藏链接(“WatchBanking”)。

WebElement lnkW2yB=dr.findElement(By.xpath("//a[@href='/personal/ways_to_bank/ways-to-bank-landing']"));
    Actions act=new Actions(dr);
    act.moveToElement(lnkW2yB).build().perform();
    WebElement Span=dr.findElement(By.xpath("//span[contains(text(),'Bank with your Watch')]"));
    WebDriverWait wait=new WebDriverWait(dr,20);
    wait.until(ExpectedConditions.visibilityOf(Span));
    act.moveToElement(Span).build().perform();
    Thread.sleep(5000L);
    WebElement lnk=dr.findElement(By.linkText("WatchBanking"));
    wait.until(ExpectedConditions.visibilityOf(lnk));
    act.moveToElement(lnk).click(lnk).build().perform();

它移动到范围(“用 watch 进行银行”)并显示链接(“WatchBanking”)。 但由于立即消失,它没有点击 WatchBanking。 请给我任何解决方案。

最佳答案

Selenium 有时只会表现得像这样。在这种情况下,我会使用 JavascriptExecutor。我已经用 Javascript Click 替换了 Selenium Click,它非常适合您在评论中提到的网站。

将 lnk.click() 替换为以下内容

 WebElement lnk = dr.findElement(By.xpath("//a[text()='WatchBanking']"));
    wait.until(ExpectedConditions.visibilityOf(lnk));
    JavascriptExecutor js = (JavascriptExecutor) dr;
    js.executeScript("arguments[0].click();", lnk);

关于java - 鼠标悬停操作 - 无法单击隐藏链接,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31089935/

相关文章:

java - C#、Java SQLite 无法读取/写入

java - StrokeType.OUTSIDE 在 ScrollPane 内的标签上使用时会导致大量滞后

javascript - 使用 Selenium 步骤定义从 CucumberJS 执行回调

javascript - npm install selenium-webdriver 的 npm 错误

java - 如何创建类的公共(public)对象以在 TestNG 类的所有方法中使用?

java - Jmeter - 双数据类型的计数器

java - 如何将二维数组拆分为左右数组?

java - 对多个数组元素执行 JUnit 断言 - 当一个元素失败时如何处理?

python - 如何在 pytest bdd 中包含 selenium 屏幕截图以通过测试?

java - 可见性元素定位与可见性