Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/xpath/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

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定位器在FF3中工作,但在';我不在IE7工作_Xpath_Selenium - Fatal编程技术网

xpath定位器在FF3中工作,但在';我不在IE7工作

xpath定位器在FF3中工作,但在';我不在IE7工作,xpath,selenium,Xpath,Selenium,从firefox测试切换到internet explorer测试后,selenium再也找不到某些元素 我找到了一个定位器: xpath=(//a[@class='someclass'])[2] 虽然它在firefox下工作正常,但在ie中找不到这个元素。 我现在有什么选择?JSDOM?CSS选择器?这个定位器看起来怎么样 更新: 我将举一个例子来说明我的观点: <ul> <li> <a class='someClass' href="http://w

从firefox测试切换到internet explorer测试后,selenium再也找不到某些元素

我找到了一个定位器:

xpath=(//a[@class='someclass'])[2]
虽然它在firefox下工作正常,但在ie中找不到这个元素。 我现在有什么选择?JSDOM?CSS选择器?这个定位器看起来怎么样

更新:

我将举一个例子来说明我的观点:

<ul>
  <li>
    <a class='someClass' href="http://www.google.com">BARF</a>
  </li>
  <li>
    <a class='someClass' href="http://www.google.de">BARF2</a>
  </li>
</ul>
<div>
  <a class='someClass' href="http://www.google.ch">BARF3</a>
</div>
据我理解,这应与:

//a[@class='someclass' and position()=2]

我没有任何链接是任何节点的第二个子节点。我只想从类“someClass”的链接集中找到一个链接。

如果不知道HTML源代码的其余部分,很难为您提供保证有效的替代方案。希望以下建议能帮助您找到正确的方向:

  • //a[@class='someClass'][2]

    这与您的示例类似,但不需要这些偏执

  • //a[contains(@class,'someClass')][2]

    即使链接有其他类,这也可以工作

  • css=a.someClass:n子元素(2)

    只有当链接是其父元素的第二个子元素时,此选项才有效

更新

  • 根据您的更新,请尝试以下操作:
    //body/genderant::a[@class='someClass'][2]

我同意你推荐的解决方案,但你只是错过了一个@,因为类是一个属性,我没有提供上下文,但让我用这个xpath来解释我的意图:这些参数定义了一组页面上具有指定类的所有链接。从这个集合中,我想访问第二个元素。这些链接不是兄弟链接,它们可能分散在页面上。除了xpath之外,我不知道有任何其他使用selenium的定位方法可以实现这种定位。问题仍然是,为什么这在IE上不起作用,而在FF中起作用。您在IE中尝试过推荐的解决方案吗?它应该很好用。@Rubens谢谢!非常关键的打字错误!:)谢谢你的努力,但对我的案子没有帮助。我在上面的描述中添加了一个示例代码片段,以使其更加清晰。
//a[@class='someclass' and position()=2]