尝试将browsermobproxy与selenium一起使用时出现错误的替换错误

2024-10-04 01:35:06 发布

您现在位置:Python中文网/ 问答频道 /正文

在一个ubuntu系统上,我尝试使用一个“browsernmob proxy”和python selenium测试。按照文档here安装了“browsermob proxy”,并尝试了以下python代码:

from selenium import webdriver
from browsermobproxy import Server

server = Server("/home/adietz/Projects/Venv/nosetests/lib/python2.7/site-packages/browsermobproxy/server.py")
server.start()

但由于以下错误,此操作立即失败:

^{pr2}$

你知道怎么解决这个问题吗?在

我也试着用

server = Server("/home/adietz/Projects/Venv/nosetests/lib/python2.7/site-packages/browsermobproxy")

但是由于以下错误而失败:

======================================================================
ERROR: test_example2.TestSuite.test_network
----------------------------------------------------------------------
Traceback (most recent call last):
  File "/home/adietz/Projects/Venv/nosetests/local/lib/python2.7/site-packages/nose/case.py", line 197, in runTest
    self.test(*self.arg)
  File "/home/adietz/Projects/Jenkins/bsp-usecase-tests/selenium/test_example2.py", line 40, in test_network
    server = Server("/home/adietz/Projects/Venv/nosetests/lib/python2.7/site-packages/browsermobproxy")
  File "/home/adietz/Projects/Venv/nosetests/local/lib/python2.7/site-packages/browsermobproxy/server.py", line 81, in __init__
    "in path provided: %s" % path)
ProxyServerError: Browsermob-Proxy binary couldn't be found in path provided: /home/adietz/Projects/Venv/nosetests/lib/python2.7/site-packages/browsermobproxy

附录

  • 我可能设法将browsermob-proxy发送到端口8088或8089(不完全确定),但是示例代码仍然无法运行。。。。在

Tags: inpytesthomeservervenvlibpackages
1条回答
网友
1楼 · 发布于 2024-10-04 01:35:06

我猜,你给代理服务器的路径不对。您的代码指向的是browsermob代理python绑定,而不是服务器。请按照以下步骤操作。在

  1. 从位置https://github.com/lightbody/browsermob-proxy/releases下载browsermob代理并将文件解压缩到特定目录。我已经解压缩到目录C:\\Projects\\BrowserMobProxy

  2. 安装browsermob代理绑定(如果尚未安装)。 pip install browsermob代理

  3. 然后您可以在编码中指定服务器路径,如下所示。我在用窗户。如下所示。在

    from browsermobproxy import Server
    server = Server("C:\\Projects\\BrowserMobProxy\\bin\\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
    
    server.stop()
    driver.quit()
    

请相应地更改代理路径(您下载或提取的位置)。在

相关问题 更多 >