使用selenium编写测试时,如何查看生成的HTML?

时间:2013-06-14 07:44:07

标签: python html selenium selenium-ide

以python中的以下selenium测试为例:

 import unittest
 from selenium import webdriver
 from selenium.webdriver.common.keys import Keys

 class PythonOrgSearch(unittest.TestCase):

     def setUp(self):
         self.driver = webdriver.Firefox()

     def test_search_in_python_org(self):
         driver = self.driver
         driver.get("http://www.python.org")
         self.assertIn("Python", driver.title)
         elem = driver.find_element_by_name("q")
         elem.send_keys("selenium")
         elem.send_keys(Keys.RETURN)
         self.assertIn("Google", driver.title)

     def tearDown(self):
         self.driver.close()

 if __name__ == "__main__":
     unittest.main()

取自:http://selenium-python.readthedocs.org/en/latest/getting-started.html#id2

结果输出类似于:

----------------------------------------------------------------------
Ran 1 test in 15.566s

OK

有没有办法让selenium在执行浏览器操作后输出html?

基本上,我使用Selenium IDE for Firefox来记录浏览器上的操作。我想在python上播放它们,得到生成的html,并根据该html采取进一步行动(例如,第一次硒测试可能是登录到一个网站并导航到某个地方。根据我想要进行的操作第二次测试(w。用户仍然登录))。这可能是使用硒吗?

提前致谢!

1 个答案:

答案 0 :(得分:1)

听起来好像你的测试可能最终依赖于彼此,这是非常非常糟糕的想法。

尽管如此,page_source函数将返回驱动程序正在查看的当前页面的完整HTML:

https://code.google.com/p/selenium/source/browse/py/selenium/webdriver/remote/webdriver.py#429