我想获取所附图像中弹出窗口的文本。现在,我在python中使用硒来获取这些文本值。以下是我的代码-
time.sleep(LOADING_TIME)
alert = driver.switch_to.alert
print(alert.text())
但是,当我这样做时,出现以下错误-
selenium.common.exceptions.NoAlertPresentException: Message: no such alert
(Session info: chrome=69.0.3497.81)
(Driver info: chromedriver=2.41.578706 (5f725d1b4f0a4acbf5259df887244095596231db),platform=Mac OS X 10.13.6 x86_64)
谁能告诉我我做错了什么? 请注意:我正在使用chrome驱动程序来初始化selenium驱动程序,只要您想向chrome浏览器中添加扩展程序,就可以找到我在此处添加的示例。
答案 0 :(得分:0)
问题在于driver.switch_to.alert
是一个函数。
像这样更改它:
driver = webdriver.Chrome()
driver.get(your_url)
alert = driver.switch_to_alert()
alert.accept()
# Eventually do anything else.
driver.close()
[编辑]
由于硒似乎无法识别对话框,因此您可以使用pywinauto module:来获取对话框并与其进行交互。
from pywinauto import Application
driver_handle = driver.current_window_handle # get driver window handle
app = Application().connect(handle = driver_handle) # initialize app
dialog = pywinauto.app.top_window_() # select the dialog
dlg.control.Addextension.Click() # click on "Add extension" button