我正在使用Watir和phantomjs刮一页。我注意到它会抛出NoMethodError: undefined method 'attributes' for nil:NilClass
当在控制台中运行它时,但是如果我放入调试器并逐步完成,它将起作用!我认为手动执行此操作的延迟允许请求完成。
这是我的代码:
browser = Watir::Browser.new :phantomjs
browser.goto(map_page_url)
map_page = Nokogiri::HTML(browser.html)
#undefined method 'attributes' for nil:NilClass:
coord_url = map_page.at('p:contains("View as") a').attributes['href'].value
我怎样才能让它等到browser.goto(map_page_url)
完全返回后继续前进?
答案 0 :(得分:0)
你不应该为此使用nokogiri。
browser.p(text: /View as/).link.when_present.attribute_value('href')