Java 关于Selenium的问题:通过子链接文本查找元素

Java 关于Selenium的问题:通过子链接文本查找元素,java,selenium,selenium-webdriver,xpath,Java,Selenium,Selenium Webdriver,Xpath,我正在开发的前端看起来像这样,而且会有很多类似的,日期不同的。在网站上,它以表格形式显示 <tr> <td height="15"><a href="link"><font size="3">file.zip</font></a></td> <td height="15"><font size="3">10-29-2018</font></td> &

我正在开发的前端看起来像这样,而且会有很多类似的,日期不同的。在网站上,它以表格形式显示

<tr>
    <td height="15"><a href="link"><font size="3">file.zip</font></a></td>
    <td height="15"><font size="3">10-29-2018</font></td>
</tr>

10-29-2018
在高层,我想下载某一天的所有文件,比如“10-29-2018”

在实现上,我尝试首先获取所有父web元素,其子元素具有类似“10-29-2018”的文本。通过这些父元素,我可以得到下载的“链接”

我被元素子元素的链接文本卡住了。我想知道是否有办法做到这一点。谢谢

这个应该可以:

//tr[td="10-29-2018"]//a
…如果要通过跟踪带日期的单元格来定位链接。请注意,
“10-29-2018”
不是链接文本。本例中的链接文本为
“file.zip”

此链接应适用于:

//tr[td="10-29-2018"]//a
…如果要通过跟踪带日期的单元格来定位链接。请注意,
“10-29-2018”
不是链接文本。在这种情况下,链接文本是
“file.zip”

在多个
中的
中,您需要找到包含日期的
,例如10-29-2018,对于此
,您需要找到前面的
,其中有一个
标记作为您可以单击的后代()要启动下载,您可以将xpath用作:

在一个
中,在几个
中,您需要找到包含日期的
,例如10-29-2018,对于这个
,您需要找到前面的
,它有一个
标记作为后代,您可以单击()启动下载,并且可以使用xpath作为:


非常感谢。你能告诉我你是在哪里学会写的吗。有教程吗?@Carl这是最好的起点。继续为StackOverflow做贡献将帮助您做到精确和完美。谢谢!你能告诉我你是在哪里学会写的吗。有教程吗?@Carl这是最好的起点。继续对StackOverflow做出贡献将帮助您获得精确和完美的结果。@Carl,是的,
By.xpath
这不起作用。。。我想你的意思更像是
//tr[.//font[.='10-29-2018']]///a
?我测试了一下,结果很好working@JeffC,是的,在您更新HTML源代码示例:)之后,它现在不起作用了。。。您可能不应该创建一个对HTML空白格式更改如此脆弱的定位器。。。我的在这两种情况下都有效…;)
td=“10-29-2018”
做什么?我想我以前没见过。这仅仅是td[.=“10-29-2018”]的简写吗?@Carl,是的,
By.xpath
这不起作用。。。我想你的意思更像是
//tr[.//font[.='10-29-2018']]///a
?我测试了一下,结果很好working@JeffC,是的,在您更新HTML源代码示例:)之后,它现在不起作用了。。。您可能不应该创建一个对HTML空白格式更改如此脆弱的定位器。。。我的在这两种情况下都有效…;)
td=“10-29-2018”
做什么?我想我以前没见过。这仅仅是td[.=“10-29-2018”]的简写吗?请参阅:SO的期望是,用户提出问题时,不仅要进行研究以回答自己的问题,还要分享研究、代码尝试和结果。这表明你花了时间来帮助自己,它使我们避免重复显而易见的答案,最重要的是,它帮助你得到一个更具体和相关的答案!请参见:请参见:SO的期望是,用户提出问题时不仅要进行研究以回答他们自己的问题,还要分享研究、代码尝试和结果。这表明你花了时间来帮助自己,它使我们避免重复显而易见的答案,最重要的是,它帮助你得到一个更具体和相关的答案!另见: