Skip to content

The question about selenium web-driver with ruby and firefox #9463

@ThomasSun001

Description

@ThomasSun001

💬 Not Sure the problem

Here is my env in my Centos7

  • Linux 3.10.0-1127.19.1.el7.x86_64 Please accept this documentation update #1 SMP Tue Aug 25 17:23:54 UTC 2020 x86_64 x86_64 x86_64 GNU/Linux
  • geckodriver version:
    geckodriver 0.26.0 (e9783a644016 2019-10-10 13:38 +0000)
  • Firefox version:
    Failed to open connection to "session" message bus: Unable to autolaunch a dbus-daemon without a $DISPLAY for X11
    Running without a11y support!
    Mozilla Firefox 68.12.0esr

I only use headless mode, here is the simple code:
require 'selenium-webdriver'
=> true
2.4.1 :002 > Selenium::WebDriver::Firefox::Service.driver_path = "/var/han/legal/HLP_Test/GoCD/firefox_driver/geckodriver"
=> "/var/han/legal/HLP_Test/GoCD/firefox_driver/geckodriver"
2.4.1 :003 > options = Selenium::WebDriver::Firefox::Options.new(args: ['-headless'],log_level: :info)
=> #<Selenium::WebDriver::Firefox::Options:0x0000000289f998 @Args=#<Set: {"-headless"}>, @binary=nil, @Profile=nil, @log_level=:info, @prefs={}, @options={}>
=>2.4.1 :004 > driver = Selenium::WebDriver.for(:firefox,options:options), it will take a long time to start the browser, normally just a few seconds and it consumes 100 % CPU and up to 5 or 6 GB RAM given my machine is 8GB during the startup
2.4.1 :006 > driver.navigate.to("https://www.baidu.com") It failed at this step! it return nil or Net::ReadTimeout: Net::ReadTimeout
2.4.1 :006 > driver.navigate.to("https://www.baidu.com")
=> nil
2.4.1 :009 > $driver.navigate.to("https://www.baidu.com")
Net::ReadTimeout: Net::ReadTimeout
from /home/centos/.rvm/rubies/ruby-2.4.1/lib/ruby/2.4.0/net/protocol.rb:176:in rbuf_fill' from /home/centos/.rvm/rubies/ruby-2.4.1/lib/ruby/2.4.0/net/protocol.rb:154:in readuntil'
from /home/centos/.rvm/rubies/ruby-2.4.1/lib/ruby/2.4.0/net/protocol.rb:164:in readline' from /home/centos/.rvm/rubies/ruby-2.4.1/lib/ruby/2.4.0/net/http/response.rb:40:in read_status_line'
from /home/centos/.rvm/rubies/ruby-2.4.1/lib/ruby/2.4.0/net/http/response.rb:29:in read_new' from /home/centos/.rvm/rubies/ruby-2.4.1/lib/ruby/2.4.0/net/http.rb:1446:in block in transport_request'
from /home/centos/.rvm/rubies/ruby-2.4.1/lib/ruby/2.4.0/net/http.rb:1443:in catch' from /home/centos/.rvm/rubies/ruby-2.4.1/lib/ruby/2.4.0/net/http.rb:1443:in transport_request'
from /home/centos/.rvm/rubies/ruby-2.4.1/lib/ruby/2.4.0/net/http.rb:1416:in request' from /home/centos/.rvm/gems/ruby-2.4.1/gems/selenium-webdriver-3.142.7/lib/selenium/webdriver/remote/http/default.rb:129:in response_for'
from /home/centos/.rvm/gems/ruby-2.4.1/gems/selenium-webdriver-3.142.7/lib/selenium/webdriver/remote/http/default.rb:82:in request' from /home/centos/.rvm/gems/ruby-2.4.1/gems/selenium-webdriver-3.142.7/lib/selenium/webdriver/remote/http/common.rb:64:in call'
from /home/centos/.rvm/gems/ruby-2.4.1/gems/selenium-webdriver-3.142.7/lib/selenium/webdriver/remote/bridge.rb:167:in execute' from /home/centos/.rvm/gems/ruby-2.4.1/gems/selenium-webdriver-3.142.7/lib/selenium/webdriver/remote/w3c/bridge.rb:567:in execute'
from /home/centos/.rvm/gems/ruby-2.4.1/gems/selenium-webdriver-3.142.7/lib/selenium/webdriver/remote/w3c/bridge.rb:59:in get' from /home/centos/.rvm/gems/ruby-2.4.1/gems/selenium-webdriver-3.142.7/lib/selenium/webdriver/common/navigation.rb:32:in to'
from (irb):9
from /home/centos/.rvm/rubies/ruby-2.4.1/bin/irb:11:in `

'
but my network to this website is :
PING baidu.com (220.181.38.148) 56(84) bytes of data.
64 bytes from 220.181.38.148 (220.181.38.148): icmp_seq=1 ttl=44 time=3.87 ms
64 bytes from 220.181.38.148 (220.181.38.148): icmp_seq=2 ttl=44 time=3.91 ms
64 bytes from 220.181.38.148 (220.181.38.148): icmp_seq=3 ttl=44 time=3.85 ms
64 bytes from 220.181.38.148 (220.181.38.148): icmp_seq=4 ttl=44 time=3.93 ms
64 bytes from 220.181.38.148 (220.181.38.148): icmp_seq=5 ttl=44 time=3.85 ms
64 bytes from 220.181.38.148 (220.181.38.148): icmp_seq=6 ttl=44 time=3.83 ms
I only user headless mode, when I switch to non-headless, it then will say:
Selenium::WebDriver::Error::UnknownError: invalid argument: can't kill an exited process

What's wrong here, could anyone take a second to analyze??

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions