简体   繁体   中英

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

I am using this code to navigate a webpage, using selenium and chromedriver 2.9 (have also tried 2.8 without success)... I get this errors, all I want is test to show up in a firefox iframe:)

What happens it that the firefox has no problem with supporting an image link in an iframe, and the image pops up great. But text will not show up in the iframe. Not sure why the image link works, but the text does not.

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()

Here are the errors messages which are generated from the python script. The script tried to go through checkpoints, but then would produce errors. I am completely lost.

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)'

I noticed from your code that you are manipulating TinyMCE . This editor needs to be handled by JavaScript. There are many answers on SO and Internet how to handle this. Here is one good enswer: Selenium and wordpress: New post test

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM