Chrome驱动程序无法在远程Pycharm Interpreter

时间:2017-09-21 03:03:13

标签: python selenium-webdriver ssh pycharm selenium-chromedriver

我正在尝试使用ChromeDrive 2.32在远程Linux计算机(Ubuntu 16.04)上进行测试。

我的本​​地计算机具有Pycharm 2017.2的远程解释器功能,可以运行存储在远程计算机上的代码。我检查了Google Chrome是否安装在远程计算机上:

/usr/bin/google-chrome

在本地计算机上初始化Webdriver永远不会产生任何错误。

chrome_driver = webdriver.WebDriver(
            executable_path= ###path_to_chrome_driver_for_linux_on_remote_machine###))

但是,当我使用PyCharm的远程解释器在远程计算机上运行时,它会出现以下错误:

  

追踪(最近一次通话):     文件“/usr/local/lib/python3.5/dist-packages/selenium/webdriver/common/service.py”,第74行,开头       stdout = self.log_file,stderr = self.log_file)     文件“/usr/lib/python3.5/subprocess.py”,第947行, init       restore_signals,start_new_session)     _execute_child中的文件“/usr/lib/python3.5/subprocess.py”,第1551行       raise child_exception_type(errno_num,err_msg)   PermissionError:[Errno 13]权限被拒绝

     

在处理上述异常期间,发生了另一个异常:

     

文件“/usr/local/lib/python3.5/dist-packages/selenium/webdriver/chrome/webdriver.py”,第62行,在__init __

     
    

self.service.start()

  
     

文件“/usr/local/lib/python3.5/dist-packages/selenium/webdriver/common/service.py”,第86行,开始       os.path.basename(self.path),self.start_error_message)

     

selenium.common.exceptions.WebDriverException:消息:'chromedriver_linux'可执行文件可能具有错误的权限。请参阅https://sites.google.com/a/chromium.org/chromedriver/home

有人能指出我的方向: 1. Pycharm远程解释器能够运行chrome驱动程序吗? (通过SSH)

  1. 如果是,ChromeDriver需要什么“权限”,SSH连接无法提供?是否有可能访问SSH -Y可以解决问题?

1 个答案:

答案 0 :(得分:0)

当Selenium无法找到该文件时,可能会发生此错误。您是否指定了chromedriver可执行文件的完整绝对路径?不仅是目录,还有实际的可执行文件。

您可以通过打开SSH shell会话并从命令行运行脚本来检查PyCharm的远程解释器是否是一个因素。在PyCharm中,您可以找到“启动SSH会话”的操作(Ctrl + Shift + A / Cmd + Shift + A)。然后导航到脚本,如果您正在使用它,则激活您的virtualenv,然后运行该脚本。

如果这也不起作用,您可以检查chromedriver可执行文件的权限(使用ls -al查看权限信息)。您可能需要添加执行权限chmod a+x chromedriver