尝试使用SST Python接受警报时出现NoAlertPresentException

时间:2014-12-05 14:42:02

标签: python selenium

我试图接受在删除网页上的元素时弹出的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>

3 个答案:

答案 0 :(得分:1)

您应该使用click_elementthis

联系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)