Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/selenium/4.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/selenium-链接包含和位置函数_Selenium_Xpath - Fatal编程技术网

xpath/selenium-链接包含和位置函数

xpath/selenium-链接包含和位置函数,selenium,xpath,Selenium,Xpath,基本上我想从/*[contains(@class,'text-1')] /*[contains(@class,'text-1')][2]不起作用(返回一个空集),而/*[contains(@class,'text-1')][1]返回整个集合 我找到了用括号括起来的部分解决方案-(/*[contains(@class,'text-1')])[2]。虽然这样做有效,但我无法将其中几个链接在一起,例如 (//*[contains(@class,'text-1')])[2](//*[contains(@

基本上我想从
/*[contains(@class,'text-1')]

/*[contains(@class,'text-1')][2]
不起作用(返回一个空集),而
/*[contains(@class,'text-1')][1]
返回整个集合

我找到了用括号括起来的部分解决方案-
(/*[contains(@class,'text-1')])[2]
。虽然这样做有效,但我无法将其中几个链接在一起,例如

(//*[contains(@class,'text-1')])[2](//*[contains(@class,'text-2')])[5](//*[contains(@class,'text-1')])][3]
-给出了错误的语法错误

有人能帮我吗?

找到了答案-
//子体::*[contains(@class,'text-1')][2]//子体::*[contains(@class,'text-2')][5]//子体::*[contains(@class,'text-1')]][3]

通过链接,在每个xpath之间使用逻辑条件吗?基本上我希望它从包含“text-1”类的元素中去掉第二个元素,然后从它里面的元素中取第5个元素,它包含“text-2”类,以此类推。最好看一下htmlHere的一个简化示例-我需要“Sentence48”的路径,注意占位符标记可以是任何东西,也可以是多个嵌套级别。谢谢。那么你的目标
句子48
与所有其他句子的区别是什么呢?它是句子的文本,它在父节点的子节点中的位置,还是其他什么?您的XPath不起作用。用:
/*[contains(@class,'text-1')][2]/substant::*[contains(@class,'text-2')][5]/substant::*[contains(@class,'text-1')][3]
或者直接使用:
/*[contains(@class,'text-1')][2]/*[contains(@class,'text-2')][5]/*[contains(@class,'text-1')][3]/*[contains(@class,'text-1')][Hmm],substant在测试中为我工作过,但我会努力的。