重构 Xpath:同一父级下的多个表达式
Refactoring Xpath: Multiple expressions under the same parent
我有一个Xpath表达式,如下所示:
//*[@id="my_element"]/table//select|//*[@id="my_element"]/table//input[@type!="hidden"]|//*[@id="my_element"]/table//textarea
如您所见,我想选择三种不同类型的元素select
,input[@type!="hidden"]
和textarea
都在同一父//*[@id="my_element"]/table
有没有更简洁的写法?我在想这样的事情:
//*[@id="my_element"]/table//(select|input[@type!="hidden"]|textarea)
但到目前为止,我的研究还没有取得任何结果。我尝试了同样的(descendant::select|descendant::input)
和(descendant::select|input)
,但似乎这些它们不起作用。
您的"简洁"表单是有效的 XPath 2.0 表达式。所以答案是,使用 XPath 2.0。
相关文章:
- 节点中带有空格的 XPath 表达式表示挑衅.js
- 将变量传递到CasperJS中的XPath表达式中
- 将param作为xpath表达式传递给XSLT-javascript
- PhantomJS文件上载无法使用XPath表达式
- 如何使用XPath表达式在CasperJS中检索元素的属性
- 重构 Xpath:同一父级下的多个表达式
- 在属性名称中搜索带有冒号的 xpath 表达式会引发异常(节点.js元素树模块)
- XPath 表达式,用于按源顺序选择 *所有* 元素、文本节点和注释节点
- 计算 XML 中的 XPath 表达式
- 获取与正则表达式匹配的 HTML 单词的 XPATH
- 将 XPath 表达式与 JavaScript 变量进行匹配
- 用于基于多个值解析XML的XPath表达式
- 正在Chrome中评估xpath表达式
- 以编程方式创建XPath表达式
- 什么'这个xpath表达式错了
- InvalidSelectorError:xpath表达式的结果是[object Text].它应该是一个元素
- 在Iframe弹出窗口中获取span的XPath表达式时需要帮助
- 在CasperJS中XPath表达式中使用contains(text(), "string")时如何
- 使用javascript在HTML中运行XPath表达式SVG
- 使用XPath表达式为Javascript添加自定义规则