python selenium检查javascript警报/pupup是否打开
我有以下html代码: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>
<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())