Selenium chrome driver No Such Session

时间:2016-12-29 12:25:17

标签: selenium scrapy selenium-chromedriver

操作系统:OSX 10.12.2

Selenium版本:2.52.0 Scrapy

浏览器:Chrome

浏览器版本:55.0.2883.95(64位)

您好,

我试图在我的项目中使用selenium。但我没有得到这样的会话错误。当我使用它与最新的铬驱动程序。您也可以在下面找到错误。

Traceback (most recent call last):
  File "/Users/user/Library/Python/2.7/lib/python/site-packages/twisted/internet/defer.py", line 651, in _runCallbacks
    current.result = callback(current.result, *args, **kw)
  File "/Users/user/Downloads/Test-2/ecommerce_bot/ecommerce_bot/spiders/hepsiburada.py", line 67, in parseProductComments
    self.browser.get(response.url)
  File "/Users/user/Library/Python/2.7/lib/python/site-packages/selenium/webdriver/remote/webdriver.py", line 248, in get
    self.execute(Command.GET, {'url': url})
  File "/Users/user/Library/Python/2.7/lib/python/site-packages/selenium/webdriver/remote/webdriver.py", line 236, in execute
    self.error_handler.check_response(response)
  File "/Users/user/Library/Python/2.7/lib/python/site-packages/selenium/webdriver/remote/errorhandler.py", line 192, in check_response
    raise exception_class(message, screen, stacktrace)
WebDriverException: Message: no such session
  (Driver info: chromedriver=2.27.440174 (e97a722caafc2d3a8b807ee115bfb307f7d2cfd9),platform=Mac OS X 10.12.2 x86_64)

这也是我的代码。

self.browser.get("url")
xpath = self.browser.find_element_by_xpath("/html/head/script[17]")

和浏览器

 def __init__(self):
        super(HepsiburadaSpider, self).__init__()
        chromedriver = "/Users/user/Downloads/chromedriver"
        os.environ["webdriver.chrome.driver"] = chromedriver
        self.browser = webdriver.Chrome(chromedriver)

1 个答案:

答案 0 :(得分:1)

发生在我身上。我发现将我当地版本的Chrome降级为53.0.2785.116可以使Protractor(再次)进行测试。这与独立版本中指定的版本无关。

这不是一个很好的解决方案(因为这是您的本地版本,它将擦除您的浏览器历史记录),但在解决下面详述的错误之前,将允许使用Protractor和Chrome进行本地测试。

http://www.slimjet.com/chrome/google-chrome-old-version.php

显然,网络驱动程序管理器存在一个知道错误,它不允许将其更新为2.24 https://github.com/angular/webdriver-manager/issues/93

Protractor本身有一个配置文件,因此请确保您使用的版本在最高级别使用版本2.23的chromedriver。我正在使用量角器3.1.0给我

  "webdriverVersions": {
    "selenium": "2.53.1",
    "chromedriver": "2.23",
    "iedriver": "2.51.0"
  } 

由于这个错误,您的本地Chrome版本将远远超出webdriver-manager可以支持或期望的范围(在这种情况下创建会话)。

如果将浏览器带到较旧版本的Chrome,则需要阻止Google更新,因为Chrome会在每次重新打开浏览器时尝试迁移到最新版本。