tsa*_*lic 11 python selenium webdriver
我是Python/JS的新手,也是Selenium/WebDriver的自动化测试,但我已经取得了一些进展!
现在我陷入了困境,这真的令人沮丧.
我正在测试的网站销售产品.我设法使我的脚本随机导航并进入付款页面,填写虚拟数据,使用以下方式提交数据:
browser.execute_script("document.Form.submit(); return true;")
browser.execute_script("processPayment(); return true;")
Run Code Online (Sandbox Code Playgroud)
通常,有一个立即付款按钮,单击该元素会导致相同的异常,我无法通过WebDriver(没有WebElement)单击确定/取消,但我发现执行此JS代码我可以得到过去了.我的新加载的页面(在提交数据并确认发布后)带有确认和所有正确的数据加载,但Python脚本被中断,我无法继续测试.
这有解决方法吗?我想要它做的是忽略该模态对话框,等待下一个确认页面加载,然后继续定位元素,打印它们的值,存储它们等.
尝试使用:
wait = ui.WebDriverWait(browser,10)
wait.until(lambda browser: browser.title.lower().startswith('Your Receipt'))
print(browser.title)
Run Code Online (Sandbox Code Playgroud)
但脚本被打断了.对不起,如果这已经回答,但我找不到,而且我也是新手!
提前致谢!
编辑:
做到了!在我的情况下,有效的是我只修改了我的代码
browser.execute_script("document.roomBookingForm.submit(); return true;")
alert = browser.switch_to_alert()
alert.dismiss()
browser.execute_script("processPayment(); return true;")
Run Code Online (Sandbox Code Playgroud)
请注意您需要导入警报的新手.
from selenium.webdriver.common.alert import Alert
Run Code Online (Sandbox Code Playgroud)
请注意新手(像我一样),您需要导入警报.
from selenium.webdriver.common.alert import Alert
... ... ... (code placeholder)
browser.execute_script("document.roomBookingForm.submit(); return true;")
alert = browser.switch_to_alert()
alert.dismiss()
browser.execute_script("processPayment(); return true;")
Run Code Online (Sandbox Code Playgroud)
刚刚添加了警报处理程序
| 归档时间: |
|
| 查看次数: |
10545 次 |
| 最近记录: |