在此页面上 https://en.wikipedia.org/wiki/Trinity_Seven#Episode_list 我有:
rdmNumber= ThreadLocalRandom.current().nextInt(1, 10 +1);`
if(rdmNumber <= precentToWin)
但它只会注册以下内容。
默认的firepath选择器是://*[text()='Reception']//preceding::th[contains(@id, 'ep')]//following::I
但是已知这种选择器经常断开。只是想知道是否有更好的方法,我认为这可能是一种方式。
谢谢! :) - 你可以看到桌子下面的东西不是我想要的东西:S
答案 0 :(得分:1)
尝试在XPath
下方使用以匹配所需元素:
//th[contains(@id, 'ep')]/following::I[./following::*[text()='Reception']]
答案 1 :(得分:0)
这看起来更简单
//tr[contains(@class, 'vevent')]//i
不要过分复杂化。每行中都需要I
个标记。所以只需找到行定位器tr[contains(@class, 'vevent')]
并获取它I
另一个很好的方法,如果你想检查父元素内部是否有一些特殊元素,但你想找到一些第三个元素就是使用这样的样式://element[./specific]//child
,所以在你的情况下:
//tr[contains(@class, 'vevent')][./th[contains(@id,'ep')]]//i
因此标题中包含I
的行内@id,'ep'
标记