在新选项卡中以相反的顺序打开链接时,我想排除"sports"和"IR"链接



我想在新选项卡中从下到上打开链接:

driver.get("https://en.wikipedia.org/wiki/Sports_video_game");
WebElement contents = driver.findElement(By.xpath("//*[@id='toc']"));
List<WebElement> links = contents.findElements(By.tagName("a"));
String clickonlinkTab=Keys.chord(Keys.CONTROL, Keys.ENTER);
for(int i = links.size() - 1; i >= 0; i--)
{
links.get(i).sendKeys(clickonlinkTab);
links.findElement(By.partialLinkText("sports")).notclick();
links.findElement(By.partialLinkText("IR")).notclick();
}

我希望Selenium跳过具有";体育;以及";IR";上面的任何地方。

As"notclick";不是有效的方法,最简单的解决方案是检查链接文本是否包含";体育;或";IR";在执行点击操作之前。例如:

for (int i = links.size() - 1; i >= 0; i--) {
if (!(links.get(i).getText().toLowerCase().contains("sports")
|| links.get(i).getText().toLowerCase().contains("ir"))) {
links.get(i).sendKeys(clickonlinkTab);
}
}

这里有一个指向可运行测试用例的链接,您可以在其中查看结果,包括打印以验证它是否工作。如果你想编辑,可以通过编辑按钮免费创建帐户。

最新更新