可以使用Watir从网站上抓取一些文本,但不能抓取所有文本

时间:2019-02-02 15:26:19

标签: ruby-on-rails selenium watir

我可以从网站上抓取一些文字,但是我希望能够收集有关优惠券的数据,例如标题和价格。 https://www.krogerkrazy.com/coupons-com-printable-coupons-2/

我尝试使用以下方法查看所有div,li,p,span中的文本 <%browser.divs.each做| X | %> <%= x.text%> <%end%>,但是没有有关优惠券的信息。我试过看到ps嵌套在div中,但也没有任何效果。

控制器

import re
re.split('[,;/ ]+', names)

查看页面

def save
    require 'watir'
    @browser = Watir::Browser.new :chrome, headless: true

    @browser.goto "https://www.krogerkrazy.com/coupons-com-printable-coupons-2/"
    sleep 10
    @divs = @browser.divs
    @spans = @browser.spans
    @body = @browser.body
    @p = @browser.ps
    @li = @browser.lis
end

1 个答案:

答案 0 :(得分:1)

您应该尝试查看页面加载后是否存在。为此,您可以使用when_present()

文档是here

有关更多详细信息,请参见以下答案:https://stackoverflow.com/a/11526164/10987825