是否可以在Selenium中捕获POST数据?

时间:2012-06-18 19:18:09

标签: post selenium

我正在使用Selenium WebDriver工具,我想知道这个工具是否提供了一种捕获提交表单时生成的POST数据的方法。我正在使用django测试框架来测试我的数据是否在后端正确处理,我想使用Selenium来验证表单是否产生了预期的数据。

1 个答案:

答案 0 :(得分:4)

您将不得不在中间放置代理并监控该代理。您可以使用http://pypi.python.org/pypi/browsermob-proxy。允许您将代理详细信息传递给WebDriver,然后您可以提取显示所有网络流量的HAR文件。

您还可以使用HARPy获取所需信息

BrowserMob代理和Selenium的示例

            from browsermobproxy import Server

            server = Server("path/to/browsermob-proxy")
            server.start()
            proxy = server.create_proxy()

            from selenium import webdriver
            profile  = webdriver.FirefoxProfile()
            profile.set_proxy(proxy.selenium_proxy())
            driver = webdriver.Firefox(firefox_profile=profile)

            proxy.new_har("google")
            driver.get("http://www.google.co.uk")
            proxy.har # returns a HAR JSON blob

            proxy.stop()
            driver.quit()