Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/oop/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Xpath 是否可以在硒中结合使用以下和之前?_Xpath_Selenium Webdriver - Fatal编程技术网

Xpath 是否可以在硒中结合使用以下和之前?

Xpath 是否可以在硒中结合使用以下和之前?,xpath,selenium-webdriver,Xpath,Selenium Webdriver,在这一页上 我有: 但它只记录了以下内容 默认的firepath选择器是://*[@id='mw-content-text']/div/table[5]/tbody/tr/td[1]/I,但已知这种选择器经常中断。只是想知道是否有更好的方法,我想这可能是一种方法 谢谢! :) -您可以看到它在表下得到的东西不是我想要的:s尝试使用下面的XPath来匹配所需的元素: //th[contains(@id, 'ep')]/following::I[./following::*[text()='Rece

在这一页上 我有:

但它只记录了以下内容

默认的firepath选择器是:
//*[@id='mw-content-text']/div/table[5]/tbody/tr/td[1]/I
,但已知这种选择器经常中断。只是想知道是否有更好的方法,我想这可能是一种方法

谢谢! :)
-您可以看到它在表下得到的东西不是我想要的:s

尝试使用下面的
XPath
来匹配所需的元素:

//th[contains(@id, 'ep')]/following::I[./following::*[text()='Reception']]
这看起来更简单

//tr[contains(@class, 'vevent')]//i
不要把事情过分复杂化。您需要在每行中添加
I
标记。所以只需找到行定位器
tr[contains(@class,'vevent')]
并获取它的
I

另一种很好的方法是,如果您想检查父元素的内部是否有某个特殊元素,但您想查找第三个元素,则使用以下样式:
//元素[./specific]//子元素
,因此在您的情况下:

//tr[contains(@class, 'vevent')][./th[contains(@id,'ep')]]//i

所以这是行中的
I
标记,它包含
@id,'ep'
在标题中

您想要的输出是什么?您想同时获得两个元素吗?您的确切手动步骤是什么?您试图
查找HTML DOM中的哪个元素
/
单击()
/
getText()
?Thanks@Andersson我不知道你在问什么对不起:S。我想得到你能在图片中看到的表格中所有突出显示的元素。因此,在接收文本之前和ep之后number@DebanjanB看看上面写的数字5,然后你可以在firepath中看到突出显示的标签。我想让Firepath把所有的东西都放在桌子上,而不是桌子外面的任何东西。我希望这是有意义的:)@DebanjanB get text()哦,太棒了!正是我想要的。我将研究它,以便将来可以复制它。有没有关于掌握xpath的好书/指南?谢谢你!!:)@DebanjanB如果你愿意,你仍然可以包括你要放的东西。虽然您不会获得奖励积分,但很抱歉:S@DebanjanB那么这是导师和学员的共同努力?谢谢:)谢谢分享:)。我肯定也会用这个方法。谢谢^。^。现在我对提取这个页面更有信心了。酷)重点是-始终关注包装器元素,因为它们通常具有良好的结构和一些良好的类/属性。和内部元素-只是span/div/etc,没有任何适当的指示器。这就是为什么与复杂/跟随/精确定位器相比,当您从父元素移动到某个子元素时,定位器变得更加简单和可读
//tr[contains(@class, 'vevent')][./th[contains(@id,'ep')]]//i