【问题标题】:python, selenium, chromedriver 'selenium.common.exceptions.WebDriverException: Message: u'chrome not reachablepython,selenium,chr​​omedriver 'selenium.common.exceptions.WebDriverException:消息:u'chrome 无法访问
【发布时间】:2014-03-15 04:43:26
【问题描述】:

我正在使用此代码导航网页,使用 selenium 和 chromedriver 2.9(也尝试过 2.8 但没有成功)...我收到此错误,我想要的只是测试显示在 firefox iframe 中:)

firefox 支持 iframe 中的图片链接没有问题,而且图片弹出效果很好。但是文本不会显示在 iframe 中。不知道为什么图片链接有效,但文字无效。

import os
import platform as _platform
from selenium import webdriver
from selenium.webdriver.common.keys import Keys
from selenium.webdriver.common.by import By
from selenium.webdriver.support.ui import WebDriverWait
from selenium.webdriver.support import expected_conditions as EC

def pickbrowser(browserchoice):
    usrplatform = _platform.system()
    if browserchoice == "1":
        browser = webdriver.Firefox()

    elif browserchoice == "2":
        if usrplatform == "Linux":
            chromepath = os.path.abspath("Webdriver/Linux/86/chromedriver")
            os.environ["webdriver.chrome.driver"] = chromepath
            browser = webdriver.Chrome(chromepath)

        elif usrplatform == "Windows":
            chromepath = os.path.abspath("Webdriver/Windows/86/chromedriver.exe")
            print "checkpoint chrome, windows 1"
            os.environ["webdriver.chrome.driver"] = chromepath
            print "checkpoint chrome, windows 2"
            browser = webdriver.Chrome(chromepath)

        elif usrplatform == "darwin":
            chromepath = os.path.abspath("Webdriver/Mac/86/chromedriver")
            os.environ["webdriver.chrome.driver"] = chromepath
            browser = webdriver.Chrome(chromepath)

    elif browserchoice == "3":
        if usrplatform == "Linux":
            browser = webdriver.PhantomJS(os.path.abspath("Webdriver/Linux/86/phantomjs"))

        elif usrplatform == "Windows":
            browser = webdriver.PhantomJS(os.path.abspath("Webdriver/Windows/86/phantomjs.exe"))

        elif usrplatform == "darwin":
            browser = webdriver.PhantomJS(os.path.abspath("Webdriver/Mac/86/phantomjs"))

    elif browserchoice == "4":
        if usrplatform == "Windows":
            browser = webdriver.Ie(os.path.abspath("Webdriver/Windows/86/IEDriverServer.exe"))
    return browser

driver = pickbrowser(raw_input("which browser do you want to use\n 1. Firefox\n 2. Chrome\n 3. PhantomJS\n 4. Internet Explorer\nYour choice: "))
print "\ncheckpoint 1"
driver.get("https://www.chess.com/login")
print "checkpoint 2\n"

WebDriverWait(driver, 10).until(EC.presence_of_element_located((By.ID, "btnLogin")))
driver.find_element_by_name("c1").send_keys(raw_input("Username: "))
print "\ncheckpoint 2.1\n"
driver.find_element_by_name("loginpassword").send_keys(raw_input("Password: : "))
print "\ncheckpoint 2.2"
driver.find_element_by_id("btnLogin").click()
print "checkpoint 3\n"

driver.get(raw_input("Link to receivers send pm page: "))
print "\ncheckpoint 4\n"

WebDriverWait(driver, 10).until(EC.presence_of_element_located((By.ID, "c15")))
driver.find_element_by_name("c15").send_keys(raw_input("Subject line: "))
print "\ncheckpoint 5\n"

driver.switch_to_frame("tinymcewindow_ifr")
print "checkpoint 5.1"
driver.find_element_by_id("tinymce").clear()
print "checkpoint 5.2"
driver.switch_to_default_content()
print "checkpoint 6"

driver.switch_to_frame("tinymcewindow_ifr")
print "checkpoint 6.1\n"
driver.find_element_by_id("tinymce").send_keys(raw_input("Message: "))
print "\ncheckpoint 6.2"
driver.switch_to_default_content()
print "checkpoint 7"

driver.find_element_by_id("c16").click()

以下是从 python 脚本生成的错误消息。该脚本试图通过检查点,但随后会产生错误。我完全迷路了。

checkpoint chrome, windows 1

checkpoint chrome, windows 2

[2888:5992:0213/160704:ERROR:chrome_views_delegate.cc(176)] NOT IMPLEMENTED

[2888:5992:0213/160704:ERROR:desktop_root_window_host_win.cc(746)] NOT IMPLEMENT

ED

[2888:5992:0213/160704:ERROR:desktop_root_window_host_win.cc(746)] NOT IMPLEMENT

ED



checkpoint 1

checkpoint 2



Username: [5268:4808:0213/160720:ERROR:ipc_channel_win.cc(132)] pipe error: 109





checkpoint 2.1



Password: : [2888:5992:0213/160734:ERROR:desktop_root_window_host_win.cc(746)] N

OT IMPLEMENTED





checkpoint 2.2

checkpoint 3



Link to receivers send pm page: 

80

Traceback (most recent call last):

  File "/home/user/Dropbox/Python/chess.com/BFDtest.py", line 60, in <module>

  File "C:\Users\Derek\Dropbox\RK Resource 001\selenium\webdriver\remote\webdriv

er.py", line 176, in get

    self.execute(Command.GET, {'url': url})

  File "C:\Users\Derek\Dropbox\RK Resource 001\selenium\webdriver\remote\webdriv

er.py", line 164, in execute

    self.error_handler.check_response(response)

  File "C:\Users\Derek\Dropbox\RK Resource 001\selenium\webdriver\remote\errorha

ndler.py", line 164, in check_response

    raise exception_class(message, screen, stacktrace)

selenium.common.exceptions.WebDriverException: Message: u'chrome not reachable

  (Session info: chrome=32.0.1700.107)
 (Driver info: chromedriver=2.9.248315,

platform=Windows NT 6.1 SP1 x86_64)'

【问题讨论】:

  • 代码应该可以工作,你有没有收到任何错误信息?
  • 请考虑您的 chrome 浏览器版本应该与您的 chrome web-driver 版本相同。

标签: python selenium selenium-chromedriver


【解决方案1】:

我从您的代码中注意到您正在操纵TinyMCE。此编辑器需要由 JavaScript 处理。 SO和Internet上有很多答案如何处理这个问题。这是一个很好的答案:Selenium and wordpress: New post test

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2022-01-21
    • 2018-08-18
    • 2020-04-17
    • 2019-03-30
    • 2013-04-04
    • 1970-01-01
    相关资源
    最近更新 更多