一、selenium启动浏览器报错os.path.basename(self.path), self.start_error_message) selenium.common.exceptions.Web
今天发现用selenium启动firefox浏览器报错,发现原因是没有安装驱动,所以把这个问题记录下来
selenium启动firefox报错
from selenium import webdriver driver = webdriver.Firefox() driver.get("https://www.google.com/")
报错代码如下:
Traceback (most recent call last): File "D:\Program Files\Python35\lib\site-packages\selenium\webdriver\common\service.py", line 74, in start stdout=self.log_file, stderr=self.log_file) File "D:\Program Files\Python35\lib\subprocess.py", line 947, in __init__ restore_signals, start_new_session) File "D:\Program Files\Python35\lib\subprocess.py", line 1224, in _execute_child startupinfo) FileNotFoundError: [WinError 2] 系统找不到指定的文件。 During handling of the above exception, another exception occurred: Traceback (most recent call last): File "C:\Users\Administrator\Desktop\count.py", line 3, in <module> driver = webdriver.Firefox() File "D:\Program Files\Python35\lib\site-packages\selenium\webdriver\firefox\webdriver.py", line 145, in __init__ self.service.start() File "D:\Program Files\Python35\lib\site-packages\selenium\webdriver\common\service.py", line 81, in start os.path.basename(self.path), self.start_error_message) selenium.common.exceptions.WebDriverException: Message: 'geckodriver' executable needs to be in PATH.
最后找到了解决办法如下:
1、下载geckodriver.exe:
下载地址:https://github.com/mozilla/geckodriver/releases
请根据系统版本选择下载;(如Windows 64位系统)
2、下载解压后将getckodriver.exe复制到Firefox的安装目录下,如(C:\Program Files\Mozilla Firefox),并在环境变量Path中添加路径,如图:
C:\Program Files\Mozilla Firefox;
2、再把geckodriver.exe这个文件添加到你安装的python文件夹里面,比如我的:
3、重启cmd或IDLE再次运行代码即可
二、raise exception_class(message, screen, stacktrace) selenium.common.exceptions.WebDriverException: Message: permission denied
比如:
driver = webdriver.Firefox() driver.get("http://www.baidu.com") print(driver.title) time.sleep(3) driver.find_element_by_id("kw").send_keys(u"ISEOer")
这段代码一般都会报错,这是因为http://www.baidu.com网址的安全性问题,加个https就好,改为https://www.baidu.com