Python Selenium 如何处理 chrome 存储警报?

Python Selenium How to handle chrome store alert?

我正在尝试使用 selenium 安装 chrome 扩展,但是当我点击“添加扩展”时,出现如下图所示的警告,我不确定它是否是警告或不,但我看到错误“没有这样的警报”。请帮我

我就是这样处理的

alert = driver.switch_to.alert
alert.accept()

P/s :我还尝试了其他一些处理警报的方法,但没有用,所以我认为这不是警报。而且我也不想使用 add_extension 选项

已编辑 好吧,如果你想点击警报消息,试试这个

 WebDriverWait(driver, wait_time).until(EC.alert_is_present())
 alert_msg = driver.switch_to.alert
 alert_msg.accept()

出于某种原因,当我使用 WebDriverWait 等待警报出现时,我只能单击警报。

解决方法 如果你想添加一个扩展,你应该使用选项参数。

from selenium.webdriver.chrome.options import Options

options = webdriver.ChromeOptions()
options.add_extension('path/to/extension.crx')
driver = webdriver.Chrome('path/to/chromedriver.exe', options=options)

要下载 CRX 文件,请使用此扩展名:link

解决方法 2

from selenium import webdriver
from selenium.webdriver.common.by import By
from selenium.webdriver.support.ui import WebDriverWait
from selenium.webdriver.support import expected_conditions as EC, wait
from time import sleep

import pyautogui

driver = webdriver.Chrome(r'.\drivers\chromedriver.exe')

driver.get('https://chrome.google.com/webstore/detail/phantom/bfnaelmomeimhlpmgjnjophhpkkoljpa')

elem = WebDriverWait(driver, 5).until(
    EC.element_to_be_clickable((By.XPATH, '/html/body/div[3]/div[2]/div/div/div[2]/div[2]/div/div')))
elem.click()

sleep(3)
pyautogui.hotkey('tab','enter', interval=0.1)