Tra*_*ash 5 css capybara phantomjs poltergeist
我有一个名称中带冒号的CSS选择器,这显然是个问题.
例:
selector = 'input#billing:street1'
find(selector)
Run Code Online (Sandbox Code Playgroud)
我收到以下错误消息:
The browser raised a syntax error while trying to evaluate the selector "input#billing:region_id" (Capybara::Poltergeist::InvalidSelector)
Run Code Online (Sandbox Code Playgroud)
有没有办法按原样使用选择器?我知道我可以这样做:
selector = 'billing:street1'
find(:xpath, ".//input[@id='#{selector}']")
Run Code Online (Sandbox Code Playgroud)
但我不想因为各种原因这样做.
我使用Cucumber,Capybara,Poltergeist/PhantomJS
根据我对CSS和Javascript的经验,这是一个有根据的猜测,但你可以尝试这样的事情:
selector = 'input#billing\:street1'
find(selector)
Run Code Online (Sandbox Code Playgroud)
注意冒号前面的反斜杠,这会转义CSS中的字符.但是对于Javascript,它略有不同.你将需要两个斜杠来逃避角色.像这样:
selector = 'input#billing\\:street1'
find(selector)
Run Code Online (Sandbox Code Playgroud)
我不确定哪一个会做伎俩(如果有的话),因为我对Cucumber,Capybara和Poltergeist/PhantomJS没有经验,但根据你的代码看起来好像你想先尝试双斜杠\\选项.
| 归档时间: |
|
| 查看次数: |
2339 次 |
| 最近记录: |