以下代码是
的HTML<table cellspacing="0" cellpadding="0" border="0" width="192">
<tbody>
<tr>
</tr>
<tr>
<td class="rhs-customer" valign="top">
<p>
</p>
<p>
<img hspace="6" align="left" alt="" src="../common/images/icon-contactus.gif">
<a onclick="window.open('../applications/homeline.asp','HomeLineNumber','height=500, width=700,scrollbars=yes,resizable=1,top=0,left=0')" href="#"> **Call Us**</a>
</p>
<p>
</p>
</td>
</tr>
</tbody>
</table>
我想点击“致电我们”链接,如果您能提供帮助,我是WebDriver的新手。
我使用下面的xpath尝试点击链接,但是我被抛出NoSuchElementException
。
driver.findElement(By.xpath("html/body/table/tbody/tr[2]/td/table/tbody/tr/td[3]/table/tbody/tr/td/table/tbody/tr[1]/td/table/tbody/tr[2]/td/p[2]/a")).click();
答案 0 :(得分:2)
试试这个
driver.findElement(By.partialLinkText("Call Us")).click();
答案 1 :(得分:0)
答案 2 :(得分:0)
如果您拥有class="rhs-customer"
这是您网页中唯一的位置,您可以随时使用给定元素进行隔离和搜索。如果这种情况属实,则下面的代码应该像魅力一样:
WebElement myTd = driver.findElement(By.className("rhs-customer"));
WebElement callUs = myTd.findElement(By.tagName("a"));
callUs.click();
作为旁注,如果可能的话,总是建议在HTML上使用一些独特的定位器。