splinter安装问题总结: UnboundLocalError 和 WebDriverException

1,安装:在系统的命令行中输入以下命令

pip install splinter

2,UnboundLocalError
安装完毕之后,尝试输入下面的测试代码,
报出UnboundLocalError的错误
这个是pip安装版本里面既存的bug,解决方案参照
https://www.jianshu.com/p/a2d38addf2b0
从github里面拿最新的browser.py替换掉本地的browser.py
github地址:https://github.com/cobrateam/splinter/tree/master/splinter

>>> from splinter import Browser
>>> browser = Browser()
Traceback (most recent call last):
File "<pyshell#1>", line 1, in <module>
	browser = Browser()
File "C:\Users\test\AppData\Local\Programs\Python\Python37-32\lib\site-packages\splinter\browser.py", line 90, in Browser
return get_driver(driver, *args, **kwargs)
File "C:\Users\test\AppData\Local\Programs\Python\Python37-32\lib\site-packages\splinter\browser.py", line 68, in get_driver
raise e
UnboundLocalError: local variable 'e' referenced before assignment

3,selenium.common.exceptions.WebDriverException: Message: ‘chromedriver’ executable needs to be in PATH

由于电脑上没有安装firefox(Browser默认使用firefox),用的是chrome,所以执行下面的命报错了。需要先安装chromedriver,
然后将chromedriver的位置加入到path环境变量中,再执行即可
chromedriver下载地址:https://chromedriver.storage.googleapis.com/index.html
解决方法实际步骤参照:https://www.cnblogs.com/lfri/p/10542797.html

>>> browser = Browser('chrome')
Traceback (most recent call last):
  File "C:\Users\test\AppData\Local\Programs\Python\Python37-32\lib\site-packages\selenium\webdriver\common\service.py", line 76, in start
    stdin=PIPE)
  File "C:\Users\test\AppData\Local\Programs\Python\Python37-32\lib\subprocess.py", line 775, in __init__
    restore_signals, start_new_session)
  File "C:\Users\test\AppData\Local\Programs\Python\Python37-32\lib\subprocess.py", line 1178, in _execute_child
    startupinfo)
FileNotFoundError: [WinError 2] 系统找不到指定的文件。

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File "<pyshell#2>", line 1, in <module>
    browser = Browser('chrome')
  File "C:\Users\test\AppData\Local\Programs\Python\Python37-32\lib\site-packages\splinter\browser.py", line 87, in Browser
    return get_driver(driver, *args, **kwargs)
  File "C:\Users\test\AppData\Local\Programs\Python\Python37-32\lib\site-packages\splinter\browser.py", line 68, in get_driver
    raise err
  File "C:\Users\test\AppData\Local\Programs\Python\Python37-32\lib\site-packages\splinter\browser.py", line 64, in get_driver
    return driver(*args, **kwargs)
  File "C:\Users\test\AppData\Local\Programs\Python\Python37-32\lib\site-packages\splinter\driver\webdriver\chrome.py", line 43, in __init__
    self.driver = Chrome(options=options, **kwargs)
  File "C:\Users\test\AppData\Local\Programs\Python\Python37-32\lib\site-packages\selenium\webdriver\chrome\webdriver.py", line 73, in __init__
    self.service.start()
  File "C:\Users\test\AppData\Local\Programs\Python\Python37-32\lib\site-packages\selenium\webdriver\common\service.py", line 83, in start
    os.path.basename(self.path), self.start_error_message)
selenium.common.exceptions.WebDriverException: Message: 'chromedriver' executable needs to be in PATH. 
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值