dni*_*lta 4 python selenium xpath selenium-webdriver
我有一个关于弹出窗口上的单击按钮的问题。图形界面如下: 图形界面
HTML 内容如下: HTML
我正在尝试使用 python selenium 以多种方式单击“确定”按钮:例如:
driver.switch_to_alert()
driver.find_element_by_id("YesBtn").click()
Run Code Online (Sandbox Code Playgroud)
或者
driver.switch_to_alert()
driver.find_element_by_xpath("//div[@id='YesBtn']").click()
Run Code Online (Sandbox Code Playgroud)
或者
driver.switch_to_alert()
driver.find_element_by_xpath("//input[@id='YesBtn']/html/body/div/div/div/div/div[3]").click()
Run Code Online (Sandbox Code Playgroud)
但我总是收到如下错误消息:
Unable to locate element: {"method":"id","selector":"YesBtn"}
Run Code Online (Sandbox Code Playgroud)
有没有人可以帮我更正代码?非常感谢。
根据您共享的HTML,它不是Alert而是Modal Dialog Box。要单击文本为OK的元素,您必须引入WebDriverWait in-conjunction,并将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()
Run Code Online (Sandbox Code Playgroud)
小智 2
alert = driver.switch_to_alert()
alert.accept()
Run Code Online (Sandbox Code Playgroud)
这将返回当前打开的警报对象。有了这个对象,您现在可以接受、忽略、阅读其内容,甚至可以输入提示。
| 归档时间: |
|
| 查看次数: |
7631 次 |
| 最近记录: |