Commit 2044fd99 authored by liyang's avatar liyang

fix:解决浏览器驱动问题

parent f167853d
......@@ -33,4 +33,5 @@ urllib3==2.0.3
wsproto==1.2.0
yarg==0.1.9
OpenCC==1.1.6
\ No newline at end of file
OpenCC~=1.1.1
python-dateutil~=2.8.2
\ No newline at end of file
......@@ -7,8 +7,12 @@ from selenium.webdriver.chrome.service import Service
from selenium.webdriver.common.by import By
from selenium.webdriver.support import expected_conditions as EC
from selenium.webdriver.support.ui import WebDriverWait
import chromedriver_autoinstaller
from webdriver_manager.chrome import ChromeDriverManager
from selenium.webdriver.firefox.firefox_profile import FirefoxProfile
from selenium.webdriver.chrome.service import Service as ChromeService
from selenium.webdriver.firefox.service import Service as FirefoxService
from webdriver_manager.firefox import GeckoDriverManager
# from mozprofile import FirefoxProfile
'''
......@@ -28,7 +32,6 @@ def create(option=None, using_user_data=True, web_browser="firefox"):
# 安装或升级 chromedriver
# chromedriver_autoinstaller.install()
options = ""
browser = ""
# 获取现有Chrome浏览器用户数据目录
......@@ -38,7 +41,6 @@ def create(option=None, using_user_data=True, web_browser="firefox"):
else:
options = webdriver.ChromeOptions()
if option is not None:
for value in option:
options.add_argument(value)
......@@ -49,6 +51,7 @@ def create(option=None, using_user_data=True, web_browser="firefox"):
firefox_profile_path = user_data_dir # 将此处替换为你的Firefox用户数据目录路径
profile = FirefoxProfile(profile_directory=firefox_profile_path)
options.profile = profile
# options.add_argument(f'--user-data-dir={user_data_dir}')
else:
options.add_argument(f'--user-data-dir={user_data_dir}')
......@@ -65,18 +68,10 @@ def create(option=None, using_user_data=True, web_browser="firefox"):
# linux 下的 chromedriver 默认加载路径是 /usr/local/bin/chromedriver
# 当然也可以通过 executable_path 自定义
if web_browser == "firefox":
# 创建Firefox浏览器对象并传入选项
extend = ""
if platform.system() == 'Windows':
extend = ".exe"
geckodriver_path = os.path.join(os.path.abspath("./"), "drive", "geckodriver",'geckodriver'+extend)
print(f"windows系统需要设置驱动程序路径:{geckodriver_path}")
options.binary_location = geckodriver_path
else:
extend = ""
browser = webdriver.Firefox(options=options)
# 创建Firefox浏览器对象并传入选
browser = webdriver.Firefox(options=options, service=FirefoxService(GeckoDriverManager().install()))
else:
# 创建Chrome浏览器对象并传入选项
browser = webdriver.Chrome(options=options)
browser = webdriver.Chrome(options=options, service=ChromeService(ChromeDriverManager().install()))
return browser
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment