Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/ruby-on-rails/52.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 Capybara/Poltergeist:CSS属性选择器引发语法错误_Ruby On Rails_Ruby_Css Selectors_Capybara_Poltergeist - Fatal编程技术网

Ruby on rails Capybara/Poltergeist:CSS属性选择器引发语法错误

Ruby on rails Capybara/Poltergeist:CSS属性选择器引发语法错误,ruby-on-rails,ruby,css-selectors,capybara,poltergeist,Ruby On Rails,Ruby,Css Selectors,Capybara,Poltergeist,我将Capybara 2.3与Poltergeist(在Rails上)一起使用,在使用包含属性值的CSS选择器调用“has_选择器”时遇到了一个问题。 例如: page.has_selector? "select#select_id option[value!='1']" 导致以下错误: Capybara::Poltergeist::InvalidSelector: The browser raised a syntax error while trying to evaluate css s

我将Capybara 2.3与Poltergeist(在Rails上)一起使用,在使用包含属性值的CSS选择器调用“has_选择器”时遇到了一个问题。 例如:

page.has_selector? "select#select_id option[value!='1']"
导致以下错误:

Capybara::Poltergeist::InvalidSelector: The browser raised a syntax error while trying to evaluate css selector "select#select_id option[value!='1']"
因为我用的是“!=”运算符,我无法使用'has_selector'(或者我可以?)的'args'参数

有什么想法吗


提前感谢:)

=
不是有效的CSS属性比较器(至少在chrome中是如此)。你可能想试试

page.has_selector? "select#select_id option:not([value='1'])"

您可以使用
:not
伪类实现同样的效果。

有趣的是——PhantomJS不报告!=这是一个错误,即使周围有空格。@Daveshweisguth试试这个。你看到错误了吗?我知道,我在Win7上使用phantomjs 1.9.7-9。是的,我知道!看起来像是水豚或恶灵的工具或吃的东西
=。简短的调查显示,水豚对选择器进行了大量的处理,所以也许这就是原因。@Dave Schweisguth:它不是一个有效的CSS选择器,句号。如果它被接受,那么相应的实现可能只是在做它自己的事情。而且,
:not()
不是一个伪元素,而是一个伪类。