Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/regex/18.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/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
Regex 能否为输入元素构造一个xpath,该元素对于匹配的类型不区分大小写?_Regex_Xpath_Webdriver - Fatal编程技术网

Regex 能否为输入元素构造一个xpath,该元素对于匹配的类型不区分大小写?

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']

因此,这个问题源于使用Webdriver ruby绑定的Watir Webdriver

我们面临的挑战是,有人正在测试HTML,web开发人员指定了一个输入元素,其类型为RADIO(大写)。虽然不常见,但据我所知,这是有效的HTML

当用户试图通过诸如

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解决方案是规范的,但您也可以考虑一些简单的代码:<代码> /[输入] [ @类型=“无线电”或@类型=“无线电”]。如果您确定
类型始终在一种情况下(而不是,比如说,
收音机
)。