使用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();
它移动到跨度(" Bank with your Watch")并显示链接(" WatchBanking")。 但由于立即失踪,它没有点击WatchBanking。 请给我任何解决方案。
答案 0 :(得分:1)
Selenium有时表现得那样。我会偶尔使用JavascriptExecutor
。我已经通过Javascript点击重新点击了Selenium点击,它完全适用于你在评论中提到过的网站。
用以下
替换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);