python使用browsermbproxy获取网页xhr(edge浏览器)

网上大部分用谷歌浏览器获取网页network

这里我用的是microsoft edge浏览器

python selenium+browsermobproxy环境配置

1.安装browsermbproxy

链接:https://github.com/lightbody/browsermob-proxy

2.安装 microsoft edge webdiver

查看浏览器版本

25b026ae4ca94393bc58dd7d86f83eeb.jpg

 microsoft edge webdiver网址:

https://developer.microsoft.com/en-us/microsoft-edge/tools/webdriver/

125a1c8f9d224ea5b8c72378e0274c8a.png

 

不要忘记配置环境变量

这里的selenium要更新到selenium4

支持selenium Tools for Microsoft Edge

https://learn.microsoft.com/en-us/microsoft-edge/webdriver-chromium/#upgrading-from-selenium-3

cad4d47df4024a34abdb4049da77145d.png

 selenium3一部分被弃用 该网站也有系统的说明

要安装java11

完整代码:

from browsermobproxy import Server
from selenium import webdriver
from selenium.webdriver.edge.options import Options
from msedge.selenium_tools import Edge, EdgeOptions
import time

server = Server(r'C:\browsermob-proxy-2.1.4-bin\browsermob-proxy-2.1.4\bin\browsermob-proxy.bat')#proxy位置
server.start()
proxy = server.create_proxy()

# chrome_options = Options() 模仿谷歌形式
edge_options = EdgeOptions()

edge_options.add_argument('--proxy-server=127.0.0.1:8087')
# edge_options.add_argument('--proxy-server={0}'.format(proxy.proxy))
edge_options.add_argument('--ignore-certificate-errors')
edge_options.add_argument('--disable-gpu')
driver=Edge(executable_path="C:/Program Files (x86)/Microsoft/Edge/Application/msedgedriver1.exe",options=edge_options)#webdiver地址

# # 要访问的地址
base_url = "https://www..com/"#任意地址
proxy.new_har("ht_list2", options={'captureContent': True, 'captureHeaders': True, 'captureBinaryContent': True})

driver.get(base_url)

# 此处最好暂停几秒等待页面加载完成,不然会拿不到结果
time.sleep(3)
result = proxy.har
print(result)

18ca2475a993472980cd6b00f62d1275.png

 

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
您可以使用 Selenium获取浏览器XHR (XMLHttpRequest 值。以下是一些步骤来实现个目标: 1. 首先,确保您已经安装了 Selenium,并且已经设置好了浏览器驱动程序。可以使用 pip 命令来安装 Selenium:`pip install selenium`。同时,根据您使用浏览器,下载并设置对应的浏览器驱动程序。 2. 导入必要的库和模块: ```python from selenium import webdriver from selenium.webdriver.common.by import By from selenium.webdriver.support.ui import WebDriverWait from selenium.webdriver.support import expected_conditions as EC ``` 3. 创建一个浏览器实例: ```python driver = webdriver.Chrome() # 这里使用 Chrome 浏览器,您可以根据需求选择其他浏览器 ``` 4. 使用浏览器打开您想要访问的网页: ```python driver.get("https://example.com") # 替换为您要访问的网页 URL ``` 5. 等待页面加载完成,直到出现所需的 XHR 请求: ```python wait = WebDriverWait(driver, 10) # 设置等待时间,这里是10秒 xhr_element = wait.until(EC.presence_of_element_located((By.XPATH, "//your/xhr/element"))) # 替换为您要等待的 XHR 元素的 XPath ``` 注意:上述代码中的 `"//your/xhr/element"` 应替换为您要等待的 XHR 元素的 XPath。您可以通过浏览器的开发者工具来查找该元素。 6. 一旦 XHR 请求出现,您可以使用 `xhr_element` 对象来访问其属性和方法。例如,您可以获取 XHR 请求的 URL: ```python xhr_url = xhr_element.get_attribute("src") print(xhr_url) ``` 7. 最后,记得关闭浏览器实例: ```python driver.quit() ``` 这些步骤将帮助您使用 Selenium 获取浏览器XHR 值。请确保您根据实际情况进行适当的修改和调整。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值