Html 如何使用watir和children/xpath单击按钮?
我想写一个通用代码来点击按钮 我从一个div中得到这个类,子元素是button。我使用xpath访问子元素:Html 如何使用watir和children/xpath单击按钮?,html,ruby,watir,Html,Ruby,Watir,我想写一个通用代码来点击按钮 我从一个div中得到这个类,子元素是button。我使用xpath访问子元素: button = browser.div(class: /sp-m-cookies-container/).element(xpath: './*') puts button.innertext # OUTPUT: Submit button.click 即使输出是正确的(它是来自按钮的innerText,单击没有效果。但是,下面的代码可以工作(按钮不是通用的) 我做错了什么 在我
button = browser.div(class: /sp-m-cookies-container/).element(xpath: './*')
puts button.innertext # OUTPUT: Submit
button.click
即使输出是正确的(它是来自按钮的innerText,单击没有效果。但是,下面的代码可以工作(按钮不是通用的)
我做错了什么
在我的例子中,名称不是“submit”。它通常是不同的。只有类总是相同的
铬:79.0.3945.130
Selenium:3.141.0更改第一行,如下所示
button = browser.div(class: /sp-m-cookies-container/).button(xpath: './button').wait_until(timeout: 100, &:present?)
元素(xpath:'./*')
太泛型了,它将返回第一个元素,而不管它是否是按钮
如果您认为正常单击有效,那么可以使用fire\u event:onclick触发单击事件,如下所示
button.fire_event :onclick
您可以分享您正在使用的HTML吗?一个可能的原因是
元素(xpath:'./*')
实际上并没有返回按钮-例如,它可能返回一个包装按钮的元素。
button.fire_event :onclick