首页 > 解决方案 > 为什么在 Selenium Python 中设置 Edge 配置文件会导致错误

问题描述

我正在尝试运行 Whatsapp web 而不每次都扫描 QR 码,因此我通过了 Edge 的配置文件,以便它自动检测上一个会话而无需再次扫描它。这是我的代码:

import cv2
from selenium import webdriver
from selenium.webdriver.common import keys
from selenium.webdriver.common.by import By
from selenium.webdriver.common.keys import Keys
import threading as thread
from selenium.webdriver.firefox.webdriver import WebDriver
from selenium.webdriver.support import expected_conditions as EC
from selenium.webdriver.support.ui import WebDriverWait
import time
from msedge.selenium_tools import EdgeOptions
from msedge.selenium_tools import Edge


option = EdgeOptions()
option.use_chromium = True
option.add_argument("--headless")
option.add_argument('user-data-dir= C://Users//USERNAME//AppData//Local//Microsoft//Edge SxS//User Data')
driver = webdriver.Edge(executable_path="J://edgedriver_win64//msedgedriver.exe",options = option)

driver.get('https://web.whatsapp.com')
wait = WebDriverWait(driver, 60)

但我收到一个错误:

文件“h:\Huzaifa\Python\Project\OpenCV\Spam1.py”,第 19 行,在 driver = webdriver.Edge(executable_path="J://edgedriver_win64//msedgedriver.exe",options = option) TypeError: init () 得到了一个意外的关键字参数“选项”

我尝试无头运行它,但它不起作用。任何帮助将不胜感激。谢谢!

标签: pythonseleniumautomation

解决方案


这可能是硒版本问题。您使用的 selenium 版本不支持该options参数。您可以通过启动 Python 控制台来查看您正在使用的 Firefox 对象的文档,并且:

from selenium.webdriver import Firefox
help(Firefox)

推荐阅读