Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/css/34.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

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/ruby/23.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
Css 通过选择器样式刮削查找_Css_Ruby_Mechanize - Fatal编程技术网

Css 通过选择器样式刮削查找

Css 通过选择器样式刮削查找,css,ruby,mechanize,Css,Ruby,Mechanize,我正在为我的大学做一个“刮刀”,我需要选择所有包含“背景色:#bebeff”的“tbody”。我尝试了几个w3schools选择器,但我做不到。有什么办法吗 顺便说一句,我将Mechanize Gem与Ruby结合使用 试试这个: require 'mechanize' require 'csv' agent = Mechanize.new page = agent.get('http://www.rockauto.com/es/catalog/') page = page.lin

我正在为我的大学做一个“刮刀”,我需要选择所有包含“背景色:#bebeff”的“tbody”。我尝试了几个w3schools选择器,但我做不到。有什么办法吗

顺便说一句,我将Mechanize Gem与Ruby结合使用

试试这个:

 require 'mechanize'
 require 'csv'

 agent = Mechanize.new
 page = agent.get('http://www.rockauto.com/es/catalog/')
 page = page.link_with(:text => 'Español').click
 page = page.link_with(:text => 'FORD').click
 page = page.link_with(:text => '2012').click
 page = page.link_with(:text => 'F-150').click
 page = page.link_with(:text => "3.7L V6").click
 page = page.link_with(:text => "Freno y Maza de Rueda").click
 page = page.link_with(:text => "Pastilla de Freno").click
 page = page.search('[style~=bebeff]')


 puts page.inspect
我希望有一些解决办法


问候并感谢各位朋友。

由于每个tbody中的样式都设置为“background:#bebeff;”,您可以使用
=
进行尝试<代码>^=也可以

require 'mechanize'
require 'csv'

agent = Mechanize.new
page = agent.get 'http://www.rockauto.com/es/catalog/'
page = page.link_with(text: 'Español').click
page = page.link_with(text: 'FORD').click
page = page.link_with(text: '2012').click
page = page.link_with(text: 'F-150').click
page = page.link_with(text: '3.7L V6').click
page = page.link_with(text: 'Freno y Maza de Rueda').click
page = page.link_with(text: 'Pastilla de Freno').click
page = page.search 'tbody[style="background: #bebeff; "]'
p page.inspect

由于每个tbody中的样式都设置为“background:#bebeff;”,因此可以使用
=
进行尝试<代码>^=也可以

require 'mechanize'
require 'csv'

agent = Mechanize.new
page = agent.get 'http://www.rockauto.com/es/catalog/'
page = page.link_with(text: 'Español').click
page = page.link_with(text: 'FORD').click
page = page.link_with(text: '2012').click
page = page.link_with(text: 'F-150').click
page = page.link_with(text: '3.7L V6').click
page = page.link_with(text: 'Freno y Maza de Rueda').click
page = page.link_with(text: 'Pastilla de Freno').click
page = page.search 'tbody[style="background: #bebeff; "]'
p page.inspect

我有一个疑问,在“#bebeff;(space)”]之后,它需要一个空格,因为它需要它,但如果我把它放进去,它不会返回任何东西,我只是要求理解,问题已经解决了。您好。是的,这是因为他们使用了一个额外的空格,使用
=
您可以比较确切的样式,否则使用~您应该指定一个由一个空格分隔的字符串,比如
'tbody[style~=“#bebeff;””
(需要引号)和
'tbody[style^=“background:#bebebeff”]
也可以,格雷西亚斯·塞巴斯蒂安,我在智利绝望了。。。Mil gracias compadre.我有一个疑问,在“#beeff;(space)”]之后它需要一个空格,因为它需要它,但如果我把它放进去,它不会返回任何东西,我只是要求理解,问题已经解决了。您好。是的,这是因为他们使用了一个额外的空格,使用
=
您可以比较确切的样式,否则使用~您应该指定一个由一个空格分隔的字符串,比如
'tbody[style~=“#bebeff;””
(需要引号)和
'tbody[style^=“background:#bebebeff”]
也可以,格雷西亚斯·塞巴斯蒂安,我在智利绝望了。。。Mil gracias compadre.你想要的是
*=
,而不是
~=
你想要的是
*=
,而不是
~=