有没有办法让selenium确定click()
函数是否正确执行?
假设网页上有一个带有提交按钮的表单。我使用selenium点击提交按钮。我如何确定click()
是否正确发生?现在我的代码看起来像这样:
try:
button = driver.find_element_by_id('submit_button_id')
button.click()
except NoSuchElementException:
print('No such button found.')
# determine if the `click()` function actually worked.
try:
driver.find_element_by_id(
'new_id_that_only_occurs_after_button_click'
)
except NoSuchElementException:
# code to retry button click
有更好的方法吗?
答案 0 :(得分:1)
没有什么比按照您期望的方式检查点击页面更改更好的了。那你正在做的是对的。我要做的唯一改进就是将“发现”更改为“等待”,例如in the example shown here:
WebDriverWait(driver, 10)
.until(
EC.presence_of_element_located(
(By.ID,
'new_id_that_only_occurs_after_button_click'))
这样测试更可靠(如果对点击操作的响应需要一点时间,测试不会失败)。