我正在尝试使用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)
答案 0 :(得分:0)
当Selenium无法找到该文件时,可能会发生此错误。您是否指定了chromedriver可执行文件的完整绝对路径?不仅是目录,还有实际的可执行文件。
您可以通过打开SSH shell会话并从命令行运行脚本来检查PyCharm的远程解释器是否是一个因素。在PyCharm中,您可以找到“启动SSH会话”的操作(Ctrl + Shift + A / Cmd + Shift + A)。然后导航到脚本,如果您正在使用它,则激活您的virtualenv,然后运行该脚本。
如果这也不起作用,您可以检查chromedriver可执行文件的权限(使用ls -al
查看权限信息)。您可能需要添加执行权限chmod a+x chromedriver
。