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

mkl*_*ber 3 post selenium

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

Aut*_*ter 5

您必须在中间放置一个代理并监视该代理。您可以使用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()
Run Code Online (Sandbox Code Playgroud)