a un problème très ennuyeux avec Watir WebDriver ..Watir/Sélénium - browser.goto continue à recevoir erreur TimeOut sur Chrome et Firefox
Je déboguée un peu, et a découvert que je reçois toujours TimeOut :: erreur sur un simple @ browser.goto ligne, même je peux voir visuellement la page a chargé entièrement ...
Le scénario est comme ceci: Ouvrez un navigateur, allez à une URL, cliquez sur quelques liens, puis soudainement à un moment donné , le script arrête de continuer à naviguer, en attente de plus de 30 secondes et de lancer des erreurs. Essayé à la fois Chrome et FF: Chrome est bien pire, normalement un deuxième ou troisième clic de lien se déclenchera; pour FF, prend parfois 10+ navigation page ...
Bet il y a un environnement ou un problème de comparabilité:
[email protected]:~$ uname -am
Linux deskbox 3.0.0-12-generiC#20-Ubuntu SMP Fri Oct 7 14:56:25 UTC 2011 x86_64 x86_64 x86_64 GNU/Linux
[email protected]:~$ ruby -v
ruby 1.9.2p290 (2011-07-09 revision 32553) [x86_64-linux]
[email protected]:~$ rails -v
Rails 3.2.1
[email protected]:~$ gem -v
1.8.15
[email protected]:~$ gem list|grep webdriver
selenium-webdriver (2.12.0)
watir-webdriver (0.5.3)
Quelqu'un peut-il aider à ce sujet? Le code source ici:
#!/usr/bin/env ruby
require 'watir-webdriver'
require 'pry'
class Search
attr_accessor :browser, :company_url, :company_name
def initialize()
@browser = Watir::Browser.start 'http://www.google.com', :chrome
end
def visit_company_home_via_google(company)
@company_name = company
@browser.goto "http://www.google.com/search?q=#{company}"
link = @browser.div(:id=>'ires').link
return nil unless link.exists?
@browser.goto link.href
@company_url ||= @browser.url
@company_url
end
def logoff()
@browser.close if @browser
end
end
s = Search.new
puts s.visit_company_home_via_google("github")
puts s.visit_company_home_via_google("Mashable")
puts s.visit_company_home_via_google("Barracuda Networks")
s.logoff
Mon résultat est comme:
[email protected]:~/cuda$ ./search.rb
https://github.com/
/usr/local/lib/ruby/1.9.1/net/protocol.rb:140:in `rescue in rbuf_fill': Timeout::Error (Timeout::Error)
from /usr/local/lib/ruby/1.9.1/net/protocol.rb:134:in `rbuf_fill'
from /usr/local/lib/ruby/1.9.1/net/protocol.rb:116:in `readuntil'
from /usr/local/lib/ruby/1.9.1/net/protocol.rb:126:in `readline'
from /usr/local/lib/ruby/1.9.1/net/http.rb:2219:in `read_status_line'
from /usr/local/lib/ruby/1.9.1/net/http.rb:2208:in `read_new'
from /usr/local/lib/ruby/1.9.1/net/http.rb:1191:in `transport_request'
from /usr/local/lib/ruby/1.9.1/net/http.rb:1177:in `request'
from /usr/local/lib/ruby/1.9.1/net/http.rb:1170:in `block in request'
from /usr/local/lib/ruby/1.9.1/net/http.rb:627:in `start'
from /usr/local/lib/ruby/1.9.1/net/http.rb:1168:in `request'
from /usr/local/lib/ruby/gems/1.9.1/gems/selenium-webdriver-2.12.0/lib/selenium/webdriver/remote/http/default.rb:81:in `response_for'
from /usr/local/lib/ruby/gems/1.9.1/gems/selenium-webdriver-2.12.0/lib/selenium/webdriver/remote/http/default.rb:43:in `request'
from /usr/local/lib/ruby/gems/1.9.1/gems/selenium-webdriver-2.12.0/lib/selenium/webdriver/remote/http/common.rb:39:in `call'
from /usr/local/lib/ruby/gems/1.9.1/gems/selenium-webdriver-2.12.0/lib/selenium/webdriver/remote/bridge.rb:450:in `raw_execute'
from /usr/local/lib/ruby/gems/1.9.1/gems/selenium-webdriver-2.12.0/lib/selenium/webdriver/remote/bridge.rb:428:in `execute'
from /usr/local/lib/ruby/gems/1.9.1/gems/selenium-webdriver-2.12.0/lib/selenium/webdriver/remote/bridge.rb:99:in `get'
from /usr/local/lib/ruby/gems/1.9.1/gems/selenium-webdriver-2.12.0/lib/selenium/webdriver/common/navigation.rb:14:in `to'
from /usr/local/lib/ruby/gems/1.9.1/gems/watir-webdriver-0.5.3/lib/watir-webdriver/browser.rb:61:in `goto'
from ./search.rb:17:in `visit_company_home_via_google'
from ./search.rb:33:in `<main>'
Merci, désolé ma question n'était pas très claire; Mon but n'était pas d'obtenir ces urls, mais de demander à watir de se rendre à la page, de la visiter et de revenir; En ce moment, GitHub va bien; mais les deux Mashable et Barracuda Networks sont gelés lors de la navigation ...; Est-ce que l'un d'entre vous peut l'essayer dans le même environnement si la même chose se produit? J'ai essayé avec une autre machine sur EC2, j'ai eu le même problème ... c'est pourquoi je demande ici ... –