Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/362.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
python selenium检查javascript警报/pupup是否打开_Javascript_Jquery_Python_Selenium - Fatal编程技术网

python selenium检查javascript警报/pupup是否打开

python selenium检查javascript警报/pupup是否打开,javascript,jquery,python,selenium,Javascript,Jquery,Python,Selenium,我有以下html代码: <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> </head> <body> <script type="text/javascript"> alert("Hello world"); </script> </body> </html> 试试这个

我有以下html代码:

<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
</head>
<body>
<script type="text/javascript">
alert("Hello world");
</script>
</body>
</html>
试试这个

from selenium.common.exceptions import NoAlertPresentException
from selenium import webdriver
import unittest

class Foo(unittest.TestCase):

    def setUp(self):
        self.selenium = webdriver.Firefox()
        self.selenium.maximize_window()

    def is_alert_visible(self):
        alert = self.selenium.switch_to_alert()
        try:
            return alert.text
        except (NoAlertPresentException,):
            return False

    def test_page(self):
        self.selenium.get('url')
        self.assertTrue(self.is_alert_visible())

    def tearDown(self):
        self.selenium.quit()

if __name__ == '__main__':
    unittest.main()
或者,您可以使用
webdriverwait
等待该警报的特定时间,并在警报未显示时引发
TimeoutException

from selenium.webdriver.support.ui import WebDriverWait as Wait
from selenium.webdriver.support import expected_conditions as EC
from selenium.common.exceptions import TimeoutException

def is_alert_visible(self):
    try:
        alert = Wait(self.selenium, 5).until(EC.alert_is_present())
        return alert.text
    except (TimeoutException,):
        return False

def test_page(self):
    self.selenium.get('url')
    self.assertTrue(self.is_alert_visible())
试试这个

from selenium.common.exceptions import NoAlertPresentException
from selenium import webdriver
import unittest

class Foo(unittest.TestCase):

    def setUp(self):
        self.selenium = webdriver.Firefox()
        self.selenium.maximize_window()

    def is_alert_visible(self):
        alert = self.selenium.switch_to_alert()
        try:
            return alert.text
        except (NoAlertPresentException,):
            return False

    def test_page(self):
        self.selenium.get('url')
        self.assertTrue(self.is_alert_visible())

    def tearDown(self):
        self.selenium.quit()

if __name__ == '__main__':
    unittest.main()
或者,您可以使用
webdriverwait
等待该警报的特定时间,并在警报未显示时引发
TimeoutException

from selenium.webdriver.support.ui import WebDriverWait as Wait
from selenium.webdriver.support import expected_conditions as EC
from selenium.common.exceptions import TimeoutException

def is_alert_visible(self):
    try:
        alert = Wait(self.selenium, 5).until(EC.alert_is_present())
        return alert.text
    except (TimeoutException,):
        return False

def test_page(self):
    self.selenium.get('url')
    self.assertTrue(self.is_alert_visible())