无法点击链接

时间:2018-04-10 08:57:15

标签: vba selenium selenium-webdriver

HTML:

<a href="" ng-click="selectPage(totalPages)" class="ng-binding">Last</a>

我在VBA上有以下代码:

driver.FindElementByXPath(".//span[text()='Next']").Click

表示未找到元素。 点击 链接。 source page

4 个答案:

答案 0 :(得分:0)

带有最后文字的<a>标记是 Angular 元素,因此您必须为元素引导 WebDriverWait 可点击如下:

IWait wait = new WebDriverWait(driver, TimeSpan.FromSeconds(3))
wait.Until(ExpectedConditions.ElementToBeClickable(By.XPath("//a[@class='ng-binding' and contains(.,'Last')]"))).Click

答案 1 :(得分:0)

使用此: 锚标记中有一些尾随空格,您已在附加图像中显示,因此使用 normalize-space()方法而不是 text(),它将修剪空格。

driver.FindElementByXPath("//a[normalize-space()='Next']").Click()

答案 2 :(得分:0)

我认为下一步,是指您在“来源”页面中突出显示的上次之前的链接。

点击链接“最后”使用以下内容: -

driver.findElement(By.linkText("Last")).click();

如果上面没有帮助,那么添加显式等待(可能是10秒)并检查,你可以使用下面的代码: -

WebDriverWait wait = new WebDriverWait(driver, 10);
wait.until(ExpectedConditions.presenceOfElementLocated(By.linkText("Last")));
driver.findElement(By.linkText("Last")).click()

答案 3 :(得分:0)

您可以使用以下xpath检索:

driver.findElement(By.xpath("//a[@ng-click='selectPage(totalPages)']")).click();