Javascript Selenium Python中的句柄警报
在上传文件后,我要处理以下弹出警报。我使用了下面的代码,它抛出了下面的错误 回溯最近一次呼叫上次: 文件update.py,第45行,在 driver.switch_至.alert.accept TypeError:“警报”对象不可调用 为什么会这样?我处理过一个类似的警报,其中一个有一个取消按钮?以这种方式。在Python+selenium中也有用于执行脚本的JavaScript代码,但与当前问题无关:Javascript Selenium Python中的句柄警报,javascript,python,selenium,Javascript,Python,Selenium,在上传文件后,我要处理以下弹出警报。我使用了下面的代码,它抛出了下面的错误 回溯最近一次呼叫上次: 文件update.py,第45行,在 driver.switch_至.alert.accept TypeError:“警报”对象不可调用 为什么会这样?我处理过一个类似的警报,其中一个有一个取消按钮?以这种方式。在Python+selenium中也有用于执行脚本的JavaScript代码,但与当前问题无关: driver.switch_to_alert().accept() # deprecate
driver.switch_to_alert().accept() # deprecated, but still works
driver.switch_to.alert.accept()
请注意,在第二行中,您不需要像在代码中那样调用alert,Python+selenium中提供了执行脚本的JavaScript代码,但它与当前问题无关:
driver.switch_to_alert().accept() # deprecated, but still works
driver.switch_to.alert.accept()
注意,在第二行中,您不需要像在代码中那样调用alert
警报框(尤其是甜警报)的问题在于它们有一个
延迟和硒太快了
对我有效的一个选项是:
while True:
try:
driver.find_element_by_xpath('//div[@class="sweet-alert showSweetAlert visible"]')
break
except:
wait = WebDriverWait(driver, 1000)
confirm_button = driver.find_element_by_xpath('//button[@class="confirm"]')
confirm_button.click()
警报框(尤其是甜警报)的问题在于它们有一个
延迟和硒太快了
对我有效的一个选项是:
while True:
try:
driver.find_element_by_xpath('//div[@class="sweet-alert showSweetAlert visible"]')
break
except:
wait = WebDriverWait(driver, 1000)
confirm_button = driver.find_element_by_xpath('//button[@class="confirm"]')
confirm_button.click()
在Selenium Python中处理警报的另一个选项是,如果不需要通知,则将它们一起消除 您可以将禁用通知的选项传递到webdriver浏览器 使用Chrome作为浏览器并带有以下选项的Python代码示例:
from selenium import webdriver
from webdriver_manager.chrome import ChromeDriverManager
from selenium.webdriver.chrome.options import Options
chrome_options = Options()
chrome_options.add_argument("--disable-extensions")
chrome_options.add_argument("--disable-notifications")
driver = webdriver.Chrome(ChromeDriverManager().install(),options=chrome_options)
driver.get('https://google.com')
print("opened Google")
driver.quit()
在Selenium Python中处理警报的另一个选项是,如果不需要通知,则将它们一起消除 您可以将禁用通知的选项传递到webdriver浏览器 使用Chrome作为浏览器并带有以下选项的Python代码示例:
from selenium import webdriver
from webdriver_manager.chrome import ChromeDriverManager
from selenium.webdriver.chrome.options import Options
chrome_options = Options()
chrome_options.add_argument("--disable-extensions")
chrome_options.add_argument("--disable-notifications")
driver = webdriver.Chrome(ChromeDriverManager().install(),options=chrome_options)
driver.get('https://google.com')
print("opened Google")
driver.quit()
可能的重复可能的重复