首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Capybara/Poltergeist:带有冒号的CSS ID提高Capybara::Poltergeist::InvalidSelector

Capybara/Poltergeist:带有冒号的CSS ID提高Capybara::Poltergeist::InvalidSelector
EN

Stack Overflow用户
提问于 2013-07-31 15:46:16
回答 1查看 2.4K关注 0票数 5

我有一个带有冒号的CSS选择器,这显然是个问题。

示例:

代码语言:javascript
复制
selector = 'input#billing:street1'
find(selector)

我收到以下错误消息:

代码语言:javascript
复制
The browser raised a syntax error while trying to evaluate the selector "input#billing:region_id" (Capybara::Poltergeist::InvalidSelector)

有任何方法来使用选择器的方式吗?我知道我可以做这样的事:

代码语言:javascript
复制
selector = 'billing:street1'
find(:xpath, ".//input[@id='#{selector}']")

但出于各种原因,我宁愿不这么做。

我使用黄瓜,Capybara,Poltergeist/幻影use

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2013-07-31 16:23:45

根据我使用CSS和Javascript的经验,这更像是一种有教养的猜测,但您可以尝试这样的方法:

代码语言:javascript
复制
selector = 'input#billing\:street1'
find(selector)

注意冒号前面的反斜杠,这将在CSS中转义字符。然而,对于Javascript来说,情况略有不同。您将需要两个斜杠来转义字符。就像这样:

代码语言:javascript
复制
selector = 'input#billing\\:street1'
find(selector)

我不确定哪一个能做到这一点(如果两者都会的话),因为我对Cucumber、Capybara和Poltergeist/PhantomJS没有任何经验,但是根据您的代码,您似乎希望首先尝试双斜杠\\选项。

票数 7
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/17974948

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档