如何防止Watir打开浏览器?

时间:2018-08-11 07:34:12

标签: google-chrome web-scraping webdriver watir

我正在使用以下内容刮取页面。 Scraper可以正常运行,但是每次我运行它时,它都会打开一个不需要的Chrome窗口。

      rn variable       value
 1:  ID1     2001 -0.25265860
 2:  ID2     2001  0.50538399
 3:  ID3     2001  0.68216394
 4:  ID4     2001  0.62203871
 5:  ID5     2001  0.59297019
 6:  ID6     2001  0.69383842
 7:  ID7     2001  1.77900432
 8:  ID8     2001 -1.69010623
 9:  ID9     2001 -2.17762905
10: ID10     2001  0.61463127
11:  ID1     2002  0.42120060
12:  ID2     2002 -0.16148732
...

如何防止它打开窗口?

1 个答案:

答案 0 :(得分:1)

我认为浏览器显示的是预期的行为,但是您可能不希望看到它。

这很好,并且没有“打开”浏览器或窗口。

b = Watir::Browser.new :chrome, headless: true   
puts "Browser is opened." 
loginpage = b.goto "www.google.com"  
puts "Navigate to google, title is #{b.title}"

这也可以

b = Watir::Browser.new :chrome, :switches => %w[--headless]  
puts "Browser is opened." 
loginpage = b.goto "www.google.com"  
puts "Navigate to google, title is #{b.title}"

希望如此。

编辑:

如果您正在linux上运行测试,则可能值得尝试

从命令行运行Xvfb

Xvfb :12 -screen 0 1680x1080x16 &

然后在测试中,在初始化浏览器之前设置显示

ENV['DISPLAY'] = ':12'
#or this
#`export DISPLAY=:12`

如果那行不通,我猜不到。