我试图从下拉列表
中点击“先生” 我已经尝试了多种方法的组合,但似乎没有一种起作用。
我什至尝试过 xpath
这通常是可靠的,但对于这种情况它失败了。
$browser.element(:xpath, "/html/body/div[1]/div[1]/div[1]/div/div[2]/div[1]/div[2]/div/div[2]/div/div[2]/div[2]/form/div[2]/div/div[2]/div/div/div/div/div/ul/li[2]/a").click
最佳答案
Saurabh Gaur 建议的 XPath 可以使用以下方式以更具可读性的类似 Watir 的方式编写:
$browser.ul(class: 'dropdown-menu').link(text: 'Mr').click
请注意,这假设只有一个 ul
元素具有类 dropdown-menu
。如果有多个,您将需要使用可能存在于 DOM 更高层的元素将搜索范围限定到特定下拉列表。
但是,鉴于可能只有一个链接带有文本“Mr”,您可能可以简单地逃脱:
$browser.link(text: 'Mr').click
鉴于链接是一个从隐藏切换到可见的对话框,您可能还需要等待:
$browser.link(text: 'Mr').when_present.click
关于ruby - Watir 如何点击嵌套元素,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37746411/