【问题标题】:error: [Errno 111] Connection refused - Python, Selenium错误:[Errno 111] 连接被拒绝 - Python、Selenium
【发布时间】:2015-08-12 06:47:42
【问题描述】:

我正在学习使用 Selenium。到目前为止,我成功地让它工作了。所以,现在我想使用 Selenium IDE 记录导航序列,将它们导出到 python 并运行它们。

这是我使用的代码。

from selenium import selenium
import unittest, time, re
#from pyvirtualdisplay import Display

class rc(unittest.TestCase):
def setUp(self):
    self.verificationErrors = []
    #self.display = Display(visible=0, size=(1024, 768))
    #self.display.start()
    self.selenium = selenium("localhost", 4444, "*chrome", "http://www.some-website.in")
    self.selenium.start()

def test_rc(self):
    sel = self.selenium
    sel.click("link=Careers")
    response = sel.get_title()
    print response

def tearDown(self):
    self.selenium.stop()
    self.assertEqual([], self.verificationErrors)
    #self.display.stop()

if __name__ == '__main__':
    unittest.main()

注释的行是手动添加的,并在它们工作的情况下进行了尝试(就像在前面的基本示例中所做的那样,我只是希望 selenium 工作并解决依赖关系)。

在运行这个自动生成的 python 代码时,我得到:

File "mytest_test.py", line 34, in setUp
  self.selenium.start()
File "/usr/local/lib/python2.7/dist-packages/selenium/selenium.py", line 202, in start
  result = self.get_string("getNewBrowserSession", start_args)
File "/usr/local/lib/python2.7/dist-packages/selenium/selenium.py", line 237, in get_string
  result = self.do_command(verb, args)
File "/usr/local/lib/python2.7/dist-packages/selenium/selenium.py", line 226, in do_command
  conn.request("POST", "/selenium-server/driver/", body, headers)
File "/usr/lib/python2.7/httplib.py", line 973, in request
  self._send_request(method, url, body, headers)
File "/usr/lib/python2.7/httplib.py", line 1007, in _send_request
  self.endheaders(body)
File "/usr/lib/python2.7/httplib.py", line 969, in endheaders
  self._send_output(message_body)
File "/usr/lib/python2.7/httplib.py", line 829, in _send_output
  self.send(msg)
File "/usr/lib/python2.7/httplib.py", line 791, in send
  self.connect()
File "/usr/lib/python2.7/httplib.py", line 772, in connect
  self.timeout, self.source_address)
File "/usr/lib/python2.7/socket.py", line 571, in create_connection
  raise err
error: [Errno 111] Connection refused

帮助?

【问题讨论】:

    标签: python sockets selenium selenium-ide


    【解决方案1】:

    您为 selenium RC 转换了测试脚本,因此在执行测试脚本之前,请确保 selenium RC 服务器正在您的机器上运行。

    用户下面的命令来运行 selenium 服务器: 打开命令提示符并转到下载的 selenium 服务器 jar 文件并运行命令

    java -jar selenium-server-standalone-2.47.1.jar

    【讨论】:

      【解决方案2】:

      在我的情况下,问题在于 Chrome 和 chromedriver 的版本不兼容

      在终端中检查以下命令:

      cd <<your test folder>>
      which chromedriver
      chromedriver --version  
      

      并将版本与chromedriver的最新版本进行比较: https://sites.google.com/a/chromium.org/chromedriver/

      【讨论】:

        【解决方案3】:

        当您遇到此类问题时,请检查您的 geckodriver 设置。

        当您打开浏览器时,您的 Marionette 驱动程序代码应如下注释:#cap['marionette'] = True

        不要为 Linux 启用 marionette 驱动程序。

        【讨论】:

          猜你喜欢
          • 1970-01-01
          • 2018-11-07
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 2012-07-20
          • 2012-06-07
          相关资源
          最近更新 更多