如何在Python中使用Selenium访问弹出式登录表单



我已经尝试了一段时间,想知道如何在这个练习的弹出窗口中输入用户名和密码:

http://pentesteracademylab.appspot.com//lab/webapp/digest

但我对Python中的Selenium完全陌生。我找到了如何点击按钮,这样登录表单就会弹出:

from selenium import webdriver
from selenium.webdriver.common.keys import Keys
driver = webdriver.Firefox()
driver.get("http://pentesteracademylab.appspot.com//lab/webapp/digest")
driver.find_element_by_css_selector('button').click()

但我不知道如何访问那个窗口,更不用说其中的字段了。我读过关于switch_to_frameswitch_to_window的文章。对于窗口,window_handles会显示要切换到的活动窗口,但它只返回一个元素,我认为它是主窗口,而不是弹出窗口。我也试过

alert = driver.switch_to_alert()

但无济于事。问题是,我不知道弹出窗口是哪种对象(框架、窗口、警报或其他什么),并且在网页的HTML代码中找不到任何引用它的名称。

有人能让我更进一步吗?

通过访问以下URL通过身份验证步骤:

http://username:password@pentesteracademylab.appspot.com/lab/webapp/digest/1

另请参阅:

  • 使用Selenium处理浏览器级别的身份验证

最新更新