我对弹出窗口中的点击按钮有疑问。 GUI如下: GUI
HTML内容如下: HTML
我试图使用python selenium点击" OK"按钮在很多方面: 例如:
driver.switch_to_alert()
driver.find_element_by_id("YesBtn").click()
或
driver.switch_to_alert()
driver.find_element_by_xpath("//div[@id='YesBtn']").click()
或
driver.switch_to_alert()
driver.find_element_by_xpath("//input[@id='YesBtn']/html/body/div/div/div/div/div[3]").click()
但我总是收到如下错误消息:
Unable to locate element: {"method":"id","selector":"YesBtn"}
有没有人可以帮我修改代码?非常感谢。
答案 0 :(得分:2)
根据 HTML ,您分享的不是提醒,而是模式对话框。要点击文字为确定的元素,您必须将WebDriverWait与设置为expected_conditions的element_to_be_clickable子句一起诱导,如下所示:
WebDriverWait(driver, 10).until(EC.element_to_be_clickable((By.XPATH, "//input[@class='btn btn-primary' and @id='YesBtn']"))).click()
答案 1 :(得分:1)
alert = driver.switch_to_alert()
alert.accept()
这将返回当前打开的警报对象。使用此对象,您现在可以接受,关闭,读取其内容,甚至可以键入提示。