Watir如何点击嵌套元素

时间:2016-06-10 10:52:05

标签: ruby selenium watir watir-webdriver

我试图点击来自layout.tsx" Mr" 我尝试过各种各样的事情,但似乎没有工作。

我甚至试过drop down list这通常是可靠的但是在这种情况下失败了。

xpath

click on MR

2 个答案:

答案 0 :(得分:4)

Saurabh Gaur建议的XPath可以用更加可读的Watir式方式编写,使用:

$browser.ul(class: 'dropdown-menu').link(text: 'Mr').click

请注意,这假设只有一个ul元素,其中包含类dropdown-menu。如果有多个,则需要使用可能在DOM中更高的元素将搜索范围限定为特定的下拉列表。

但是,鉴于可能只有一个链接文本"先生",您可以简单地逃脱:

$browser.link(text: 'Mr').click

鉴于链接是一个从隐藏切换到可见的对话框,您可能还需要等待:

$browser.link(text: 'Mr').when_present.click

答案 1 :(得分:1)

您的xPath位置取决于element位置..如果elements发生更改,它将无法正常工作,其位置意味着在页面上执行某些操作后添加一些elements

看到附加图片后,我生成了以下xPath,如下所示: -

//ul[contains(@class, 'dropdown-menu')]/descendant::span[contains(.,'Mr')]/parent::a

尝试使用此xPath ..可能会有效......:)