【发布时间】:2020-10-07 11:03:49
【问题描述】:
我正在尝试制作一个可以打开我学校应用程序的网络自动化程序。 我们学校正在使用 Adobe Connect。 当我尝试打开已安装的应用程序时,它会给我一个确认警报。 这是不可检查的,也不能定义任何 XPath 或... 那么,我该如何处理呢? 我已经阅读了许多 Q\As,但我无法管理它。 这是我的代码:
from selenium import webdriver
import time
url = "http://78.157.45.27/eleven203/?OWASP_CSRFTOKEN=edd648edd5" \
"e9bf51c3196210963bd5470d6c7af82e0ec636789dfafe5fc558dc&proto=true"
browser = webdriver.Chrome()
page = browser.get(url)
time.sleep(1)
my_user_name = "***"
my_password = "***"
time.sleep(1)
user_name = browser.find_element_by_id(id_="name")
password = browser.find_element_by_id(id_="pwd")
submit_button = browser.find_element_by_id(id_="login-button")
time.sleep(1)
user_name.click()
user_name.clear()
user_name.send_keys(my_user_name)
password.click()
password.clear()
password.send_keys(my_password)
submit_button.click()
time.sleep(5)
这是我从其他问题中测试但没有奏效的解决方案(附在上面代码的末尾):
ale = browser.switch_to.alert()
ale.accept()
错误信息:
selenium.common.exceptions.NoAlertPresentException: Message: no such alert
为了您的方便,我还添加了确认提醒。
【问题讨论】:
-
您能否发布您收到的错误消息。另请查看 HTML 并查看“Open Adobe Connect”元素是否在
iframe内。 -
@PeacefulJames 是的,错误信息就在那里。另外,我告诉过它是不可检查的。
-
有趣...我建议您搜索有关执行任何可以关闭它的 JavaScript 代码或按 OK。可以在 selenium 中做到这一点。例如
driver.execute_script("document.getElementsByClassName('sample-class')[0].click()")在此处查看 link -
@IceBear 实际上我不想用 JS 来打扰自己 :) 但我会检查一下。无论如何,有没有完整的python方式?
-
@ManiFaridi ,这可能就是你要找的东西link
标签: python python-3.x selenium selenium-webdriver