Regex 能否为输入元素构造一个xpath,该元素对于匹配的类型不区分大小写?
因此,这个问题源于使用Webdriver ruby绑定的Watir Webdriver 我们面临的挑战是,有人正在测试HTML,web开发人员指定了一个输入元素,其类型为RADIO(大写)。虽然不常见,但据我所知,这是有效的HTML 当用户试图通过诸如Regex 能否为输入元素构造一个xpath,该元素对于匹配的类型不区分大小写?,regex,xpath,webdriver,Regex,Xpath,Webdriver,因此,这个问题源于使用Webdriver ruby绑定的Watir Webdriver 我们面临的挑战是,有人正在测试HTML,web开发人员指定了一个输入元素,其类型为RADIO(大写)。虽然不常见,但据我所知,这是有效的HTML 当用户试图通过诸如 browser.radio(:id => "RadioM").set 然后,watir webdriver中的.radio方法将此选择器转换为XPath- //input[@type='radio' and @id='RadioM']
browser.radio(:id => "RadioM").set
然后,watir webdriver中的.radio方法将此选择器转换为XPath-
//input[@type='radio' and @id='RadioM']
这当然会导致区分大小写,因此webdriver找不到它们的元素
是否有某种方法可以将其转换为XPATH,该XPATH对于所查找的@type值不区分大小写,并且仍然使用webdriver来定位/操作元素
编辑:另一个复杂问题是,据我所知,webdriver试图委托给浏览器的xpath引擎,而现在,浏览器不支持xpath2.0。因此,这似乎也表明我们必须命令webdriver在内部处理所有xpath内容,我不知道webdriver的xpath实现是否也支持xpath2.0。(如果确实如此,这会对测试性能等产生什么影响)您能显式编写XPath吗?或者问题是您需要使用某种内置方法来生成XPath?如果是前者,这很容易;如果是后者,我不知道。目标是允许用户继续使用watir.radio方法查找和寻址元素,只需更改该方法生成并发送给webdriver的xpath代码。在WATIR中使用XPath选择的方法可能是可行的,但是找到解决办法并不是首要目标。参见<代码> XTP>代码>解决方案中的XPath解决方案是规范的,但您也可以考虑一些简单的代码:<代码> /[输入] [ @类型=“无线电”或@类型=“无线电”]。如果您确定
类型始终在一种情况下(而不是,比如说,收音机
)。