硒-如何找到链接对象

时间:2018-12-06 00:47:03

标签: java selenium selenium-webdriver xpath css-selectors

我正在使用Java在IE11中测试的页面上有以下HTML。

<a href="BCreate.asp?Tab=Batches&amp;View=Batches"><span class="link_bar link_bar_link">Create New</span></a>

如果我尝试通过linkText查找,则会收到错误消息:

driver.findElement(By.linkText("Create New")).click();

使用xpath时出错(xpath可以在IE,Chrome和FireFox中很好地验证该链接):

driver.findElement(By.xpath("/html/body/div[5]/div/div[1]/table/tbody/tr/td/div/nobr/a[2]/span")).click();

我也尝试过按班级查找,但是没有运气:

WebElement parentElement = driver.findElement(By.className("link_bar link_bar_link"));
WebElement childElement = parentElement.findElement(By.linkText("Create New"));
childElement.click();

有什么想法可以找到并单击此链接吗?

1 个答案:

答案 0 :(得分:0)

要查找文本为 Create New 的链接对象,可以使用以下任一解决方案:

  • cssSelector

    WebElement elem = driver.findElement(By.cssSelector("a[href*='View=Batches']>span.link_bar.link_bar_link"));
    
  • xpath

    WebElement elem = driver.findElement(By.xpath("//a[contains(@href,'View=Batches')]/span[@class='link_bar link_bar_link' and contains(.,'Create New')]"));