2014-02-15 32 views
4

我正在使用此代码导航网页,使用硒和chromedriver 2.9(也试过2.8没有成功)...我得到这个错误,我想要的是测试显示在Firefox的iframe :)python,selenium,chr​​omedriver'selenium.common.exceptions.WebDriverException:消息:uchrome无法访问

它发生了什么,它支持在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)' 
+3

代码应该工作,你会得到任何错误消息? – RobinKarlsson

+0

请考虑您的Chrome浏览器版本应该与您的Chrome网页驱动程序版本相同。 –

回答