环境
OS:windows 10
python:3.7.2
selenium 4.0.0a6post2
代码
# -*-coding:utf-8-*-
# selenium 测试程序
# python3 适用
from selenium import webdriver
def main():
options = webdriver.FirefoxOptions()
options.add_argument('-headless') # 无头模式
driver = webdriver.Firefox(options=options)
driver.get("https://www.baidu.com")
print(driver.page_source)
driver.close()
if __name__ == '__main__':
main()
以上代码在运行时一切正常,没有任何问题。但是当我创建一个FirefoxProfile实例时,却产生了错误。代码如下:
# -*-coding:utf-8-*-
# selenium 测试程序
# python3 适用
from selenium import webdriver
def main():
options = webdriver.FirefoxOptions()
options.add_argument('-headless') # 无头模式
profile = webdriver.FirefoxProfile()
driver = webdriver.Firefox(firefox_profile=profile, options=options)
driver.get("https://www.baidu.com")
print(driver.page_source)
driver.close()
if __name__ == '__main__':
main()
执行时,系统提示profile = webdriver.FirefoxProfile()
出错,提示为:
...//selenium//webdriver//firefox//webdriver_prefs.json//webdriver_prefs.json 文件未找到
。
找原因的过程很痛苦,最终发现造成该错误的原因竟然是是selenium的版本不对,4.0.0a6post2是alpha版(手欠升级上来的)。知道问题的原因了,解决问题就很简单了。
将selenium卸载:pip uninstall selenium
然后装回3.141版:pip install -U selenium==3.141.0
该错误消失。