我正在使用Java在IE11中测试的页面上有以下HTML。
<a href="BCreate.asp?Tab=Batches&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();
有什么想法可以找到并单击此链接吗?
答案 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')]"));