Commit 2044fd99 authored by liyang's avatar liyang

fix:解决浏览器驱动问题

parent f167853d
...@@ -33,4 +33,5 @@ urllib3==2.0.3 ...@@ -33,4 +33,5 @@ urllib3==2.0.3
wsproto==1.2.0 wsproto==1.2.0
yarg==0.1.9 yarg==0.1.9
OpenCC==1.1.6 OpenCC~=1.1.1
\ No newline at end of file python-dateutil~=2.8.2
\ No newline at end of file
...@@ -7,8 +7,12 @@ from selenium.webdriver.chrome.service import Service ...@@ -7,8 +7,12 @@ from selenium.webdriver.chrome.service import Service
from selenium.webdriver.common.by import By from selenium.webdriver.common.by import By
from selenium.webdriver.support import expected_conditions as EC from selenium.webdriver.support import expected_conditions as EC
from selenium.webdriver.support.ui import WebDriverWait 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.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 # from mozprofile import FirefoxProfile
''' '''
...@@ -28,7 +32,6 @@ def create(option=None, using_user_data=True, web_browser="firefox"): ...@@ -28,7 +32,6 @@ def create(option=None, using_user_data=True, web_browser="firefox"):
# 安装或升级 chromedriver # 安装或升级 chromedriver
# chromedriver_autoinstaller.install() # chromedriver_autoinstaller.install()
options = "" options = ""
browser = "" browser = ""
# 获取现有Chrome浏览器用户数据目录 # 获取现有Chrome浏览器用户数据目录
...@@ -38,7 +41,6 @@ def create(option=None, using_user_data=True, web_browser="firefox"): ...@@ -38,7 +41,6 @@ def create(option=None, using_user_data=True, web_browser="firefox"):
else: else:
options = webdriver.ChromeOptions() options = webdriver.ChromeOptions()
if option is not None: if option is not None:
for value in option: for value in option:
options.add_argument(value) options.add_argument(value)
...@@ -49,6 +51,7 @@ def create(option=None, using_user_data=True, web_browser="firefox"): ...@@ -49,6 +51,7 @@ def create(option=None, using_user_data=True, web_browser="firefox"):
firefox_profile_path = user_data_dir # 将此处替换为你的Firefox用户数据目录路径 firefox_profile_path = user_data_dir # 将此处替换为你的Firefox用户数据目录路径
profile = FirefoxProfile(profile_directory=firefox_profile_path) profile = FirefoxProfile(profile_directory=firefox_profile_path)
options.profile = profile options.profile = profile
# options.add_argument(f'--user-data-dir={user_data_dir}')
else: else:
options.add_argument(f'--user-data-dir={user_data_dir}') 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"): ...@@ -65,18 +68,10 @@ def create(option=None, using_user_data=True, web_browser="firefox"):
# linux 下的 chromedriver 默认加载路径是 /usr/local/bin/chromedriver # linux 下的 chromedriver 默认加载路径是 /usr/local/bin/chromedriver
# 当然也可以通过 executable_path 自定义 # 当然也可以通过 executable_path 自定义
if web_browser == "firefox": if web_browser == "firefox":
# 创建Firefox浏览器对象并传入选项 # 创建Firefox浏览器对象并传入选
extend = "" browser = webdriver.Firefox(options=options, service=FirefoxService(GeckoDriverManager().install()))
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)
else: else:
# 创建Chrome浏览器对象并传入选项 # 创建Chrome浏览器对象并传入选项
browser = webdriver.Chrome(options=options) browser = webdriver.Chrome(options=options, service=ChromeService(ChromeDriverManager().install()))
return browser 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