Dal*_*ump 3 python google-chrome selenium-chromedriver selenium-webdriver undetected-chromedriver
当我运行 Python Selenium 脚本打开网页时出现错误。我尝试卸载并重新安装 selenium、chromeautoinstaller 和未检测到的 chromedriver。我也尝试添加option.add_argument('--headless'). 这些都没有成功,错误仍然存在。
这是我的代码:
def driverInit():
option = uc.ChromeOptions()
option.add_argument("--log-level=3")
prefs = {"credentials_enable_service": False,
"profile.password_manager_enabled": False,
"profile.default_content_setting_values.notifications": 2
}
option.add_experimental_option("prefs", prefs)
driverr = uc.Chrome(options=option)
return driverr
def driverInitBuffMarket():
option = uc.ChromeOptions()
option.add_argument(
rf'--user-data-dir=C:\Users\{os.getlogin()}\AppData\Local\Google\ChromeBuff\User Data') # e.g. C:\Users\You\AppData\Local\Google\Chrome\User Data
option.add_argument(r'--profile-directory=Default')
driverr = uc.Chrome(options=option)
return driver
Run Code Online (Sandbox Code Playgroud)
错误发生在倒数第二行,driverr = uc.Chrome(options=option)
这是错误:
Traceback (most recent call last):
File "C:\Users\kumpd\OneDrive\Desktop\All Market Bots\BuffMarket Purchase Bot Testing\main.py", line 266, in <module>
start_buy_monitoring()
File "C:\Users\kumpd\OneDrive\Desktop\All Market Bots\BuffMarket Purchase Bot Testing\main.py", line 207, in start_buy_monitoring
driverBuffMarket = driverInitBuffMarket()
^^^^^^^^^^^^^^^^^^^^^^
File "C:\Users\kumpd\OneDrive\Desktop\All Market Bots\BuffMarket Purchase Bot Testing\main.py", line 42, in driverInitBuffMarket
driverr = uc.Chrome(options=option)
^^^^^^^^^^^^^^^^^^^^^^^^^
File "C:\Users\kumpd\AppData\Local\Programs\Python\Python311\Lib\site-packages\undetected_chromedriver\__init__.py", line 398, in __init__
if headless or options.headless:
^^^^^^^^^^^^^^^^
AttributeError: 'ChromeOptions' object has no attribute 'headless'
Run Code Online (Sandbox Code Playgroud)
任何帮助是极大的赞赏!
截至今天,未检测到的 chromedriver 仍在options.headless其代码中使用。
这是由于selenium 4.13.0刚刚发布的更改而出现的问题:
* remove deprecated headless methods
Run Code Online (Sandbox Code Playgroud)
以下是一些替代方案:
* remove deprecated headless methods
Run Code Online (Sandbox Code Playgroud)
这是另一个更高级的重试和点击示例(使用SB()管理器):
from seleniumbase import Driver
import time
driver = Driver(uc=True)
driver.get("https://nowsecure.nl/#relax")
time.sleep(6)
driver.quit()
Run Code Online (Sandbox Code Playgroud)
(这主要是我在这里写的:https://github.com/ultrafunkamsterdam/unDetected-chromedriver/issues/1584#issuecomment-1737963363)