这是我的代码:
def cloudtest(url,username, pw):
driver = webdriver.Chrome()
driver.get(url)
driver.find_element_by_xpath("//input[@name = \"username\"]").send_keys(username)
driver.find_element_by_xpath("//input[@name = \"password\"]").send_keys(pw)
driver.find_element_by_xpath('//button[@type="submit"]').click()
time.sleep(5)
alert = driver.switch_to.alert()
alert.send_keys(username)
alert.send_keys(Keys.TAB)
alert.send_keys(pw)
实际上,我必须输入两次凭据,一次是单击URL时,一次是单击Login之后。单击登录后,我弹出窗口再次要求提供凭据。
我尝试了上面的代码,在switch_to.alert()
收到一条错误消息,指出没有警报。
“ selenium.common.exceptions.NoAlertPresentException:消息:没有这样的警报”
请提出建议?
答案 0 :(得分:0)
经过多次迭代,我得以实现。我收到许多博客,这些博客主要在Java的Selenium Web驱动程序上进行了解释。但是,这是您可以在python中完成此操作的方法。
只需在下面的第8行中拆分URL:
driver = webdriver.Chrome()
driver.get(url)
driver.find_element_by_xpath("//input[@name = \"username\"]").send_keys(username)
driver.find_element_by_xpath("//input[@name = \"password\"]").send_keys(pw)
driver.find_element_by_xpath('//button[@type="submit"]').click()
time.sleep(5)
url = "https://" + username + ":" + pw + "@" + "planning3-test-epmdevams.pbcs.em2.oraclecloud.com/aps/Test"
driver.get(url)