【问题标题】:Firefox webdriver in selenium硒中的 Firefox 网络驱动程序
【发布时间】:2020-08-04 13:57:09
【问题描述】:

我正在使用 JupyterLab 笔记本。 我运行了以下代码:

from selenium import webdriver
driver = webdriver.Firefox()

它会产生一个很长的错误:

---------------------------------------------------------------------------
PermissionError                           Traceback (most recent call last)
~/.local/lib/python3.7/site-packages/selenium/webdriver/common/service.py in start(self)
     75                                             stderr=self.log_file,
---> 76                                             stdin=PIPE)
     77         except TypeError:

/opt/anaconda/envs/hublab/lib/python3.7/subprocess.py in __init__(self, args, bufsize, executable, stdin, stdout, stderr, preexec_fn, close_fds, shell, cwd, env, universal_newlines, startupinfo, creationflags, restore_signals, start_new_session, pass_fds, encoding, errors, text)
    799                                 errread, errwrite,
--> 800                                 restore_signals, start_new_session)
    801         except:

/opt/anaconda/envs/hublab/lib/python3.7/subprocess.py in _execute_child(self, args, executable, preexec_fn, close_fds, pass_fds, cwd, env, startupinfo, creationflags, shell, p2cread, p2cwrite, c2pread, c2pwrite, errread, errwrite, restore_signals, start_new_session)
   1550                             err_msg += ': ' + repr(err_filename)
-> 1551                     raise child_exception_type(errno_num, err_msg, err_filename)
   1552                 raise child_exception_type(err_msg)

PermissionError: [Errno 13] Permission denied: 'geckodriver'

During handling of the above exception, another exception occurred:

WebDriverException                        Traceback (most recent call last)
<ipython-input-85-a807687b0e15> in <module>
----> 1 driver = webdriver.Firefox()

~/.local/lib/python3.7/site-packages/selenium/webdriver/firefox/webdriver.py in __init__(self, firefox_profile, firefox_binary, timeout, capabilities, proxy, executable_path, options, service_log_path, firefox_options, service_args, desired_capabilities, log_path, keep_alive)
    162                 service_args=service_args,
    163                 log_path=service_log_path)
--> 164             self.service.start()
    165 
    166             capabilities.update(options.to_capabilities())

~/.local/lib/python3.7/site-packages/selenium/webdriver/common/service.py in start(self)
     86                 raise WebDriverException(
     87                     "'%s' executable may have wrong permissions. %s" % (
---> 88                         os.path.basename(self.path), self.start_error_message)
     89                 )
     90             else:

WebDriverException: Message: 'geckodriver' executable may have wrong permissions. 

我的代码有什么问题?我已经通过 chmod +x 更改了 geckodriver 权限(我在论坛的某个地方找到了这个提示)。

【问题讨论】:

    标签: selenium webdriver jupyter-lab


    【解决方案1】:

    根据异常信息判断:

    WebDriverException: Message: 'geckodriver' 可执行文件可能有错误的权限。

    用于生成浏览器窗口的geckodriver 文件没有执行文件权限。假设您使用的是 MacOS 或 Linux:

    chmod +x /path/to/geckodriver
    

    应该做的伎俩。

    【讨论】:

    • 事实并非如此。我已经做到了,但没有帮助。
    • @PawełOrliński:你收到不同的错误信息了吗?如果是这样,那么您应该发布一个不同的问题。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-05-16
    • 1970-01-01
    • 2021-11-01
    • 1970-01-01
    • 2018-08-27
    相关资源
    最近更新 更多