Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/ruby-on-rails-3/4.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
Ruby on rails 3 xPath最后一个选择元素_Ruby On Rails 3_Xpath_Selenium - Fatal编程技术网

Ruby on rails 3 xPath最后一个选择元素

Ruby on rails 3 xPath最后一个选择元素,ruby-on-rails-3,xpath,selenium,Ruby On Rails 3,Xpath,Selenium,有人能帮我让这个代码正常工作吗?我有几个select字段,我只需要变量中的最后一个字段 variable = browser.elements_by_xpath('//div[@class="nested-field"]//select[last()] 谢谢 类属性是否完全匹配? 如果加价是这样的话 <div class="nested-field other"> ... ... 然后,您必须按照确切的类进行匹配或使用xpath包含。这是一个常见问题解答:xpath中的[]运

有人能帮我让这个代码正常工作吗?我有几个select字段,我只需要变量中的最后一个字段

variable = browser.elements_by_xpath('//div[@class="nested-field"]//select[last()]

谢谢

类属性是否完全匹配? 如果加价是这样的话

<div class="nested-field other">
...

...

然后,您必须按照确切的类进行匹配或使用xpath包含。

这是一个常见问题解答:xpath中的
[]
运算符的优先级(优先级)高于
/
伪运算符。这就是为什么必须使用括号来更改默认的操作员优先级。至少有几个类似的问题有很好的解释——搜索它们,阅读并理解

而不是

//div[@class="nested-field"]//select[last()] 
(//div[@class="nested-field"]//select)[last()] 
使用

//div[@class="nested-field"]//select[last()] 
(//div[@class="nested-field"]//select)[last()] 

我不明白为什么//div[@class=“nested field”]//select会匹配任何东西。@pguardiario:不是“匹配”,而是“选择”
//div[@class=“nested field”]//select
选择任何
select
元素,该元素是任何
div
元素的后代,其
class
属性的值为
“nested field”
。我想我的问题是为什么//select而不是/select?@pguardiario:
someElement/select
只选择
someElement
的子项(名为
select
)。另一方面,
someElement//select
选择任何名为
select
的后代(子代、孙辈、孙辈等)。