如何通过Nokogiri获取页面上的特定可见字符串

问题描述 投票:0回答:1

[目前,我能够使用Nokogiri解析网站并从页面中获取特定元素。但是,我需要能够抓取用户可见的特定字符串,例如“ Out of stock”:]

page.text.match('Out of stock') 

这适用于获取正确的字符串,并且在该字符串存在或不存在的情况下返回true或false,但是,如下所示的某些链接即使该项目没有缺货也返回true,因为该特定字符串已隐藏在页面上的脚本标签中:

https://www.walmart.com/ip/Funyuns-Onion-Flavored-Rings-6-oz/36915849?athcpid=36915849&athpgid=athenaItemPage&athcgid=null&athznid=PWSFM&athieid=v0&athstid=CS020&athguid=ba634528-888-172187cc96a580&athancid=null&athena=true

我正在寻找一种方法,以便在且仅当用户可见该字符串时才将其拉出,因此上述字符串应返回false以匹配“ Out of stock”字符串,而下面的链接应返回true(在发布),因为该商品实际上无货。

https://www.walmart.com/ip/4-Pack-Chesters-Flamin-Hot-Popcorn-4-25-oz/737202470?selected=true

我也知道我可以抓住包含字符串的特定标签,但是我需要监视数百个网站,因此解决方案必须是广泛搜索可见的字符串。

[目前,我能够使用Nokogiri解析网站并从页面中获取特定元素。但是,我需要能够抓取用户可见的特定字符串,例如“ Out of stock”:...

ruby capybara html-parsing nokogiri
1个回答
0
投票

简短的答案:我们可以更具体地使用xpath语法。

© www.soinside.com 2019 - 2024. All rights reserved.