我试图接受在删除网页上的元素时弹出的javascript警告。当我使用accept_alert()
或dismiss_alert()
时,我收到NoAlertPresentException: Message: u'no alert open\n
消息。我的代码如下所示:
click_element(get_element_by_xpath('//*[@id="tracker"]/table[4]/tbody/tr/td[1]/a[1]'),wait=True)
accept_alert('Do you wish to delete?')
我只与SST合作了两周,所以我可能错过了一个简单的解决方案。
调用javascript警报的代码如下:
<a href="javascript: void(0);" onclick="return DeleteFood(1293652875);" class="track_remove" title="Remove">⊗</a>
答案 0 :(得分:1)
您应该使用click_element
与this
wait=False
因此,类似下面的内容应该有效
click_element(get_element_by_xpath('//*[@id="tracker"]/table[4]/tbody/tr/td[1]/a[1]'),wait=False)
accept_alert('Do you wish to delete?')
答案 1 :(得分:0)
点击打开提醒的元素
后,请在下面尝试 try:
WebDriverWait(browser, 3).until(EC.alert_is_present())
alert = browser.switch_to_alert.accept()
print "alert accepted"
except TimeoutException:
print "no alert"
答案 2 :(得分:0)
try:
** your code **
except Exception as e:
try:
self.driver.switch_to.alert.accept()
print(e)
except NoAlertPresentException as e:
print(e)