0


Python用selenium如何获取xhr里面payload的值?

要获取XHR(XMLHttpRequest)的payload值,您可以使用Selenium中的WebDriverWait和ExpectedConditions方法来等待XHR请求并获取其响应。

  以下是使用Python和Selenium获取XHR payload值的示例代码:

from selenium import webdriver
  from selenium.webdriver.support.ui import WebDriverWait
  from selenium.webdriver.support.ui import WebDriverWait
  from selenium.webdriver.common.by import By
  # 启动浏览器并打开网页
  driver = webdriver.Chrome()
  driver.get('https://www.baidu.com')
  # 等待XHR请求并获取响应
  wait = WebDriverWait(driver, 10)
  xhr = wait.until(EC.presence_of_element_located((By.XPATH, '//[@id="some-id"]')))
  xhr_payload = xhr.get_attribute('value')
  print(xhr_payload)
  # 关闭浏览器
  driver.quit()

在这个例子中,我们首先打开一个网页,然后等待包含XHR响应的元素出现。然后,我们使用get_attribute方法来获取该元素的“value”属性,这是XHR响应的payload。

  要使用这个代码,您需要替换“https://www.baidu.com”和“//[@id="some-id"]”为您自己的网址和XHR元素的XPATH表达式。

  不过我更建议使用微软的playwright。非常好使,兼容性更好。

  以下是使用Playwright获取XHR payload值的示例代码:

from playwright.sync_api import Playwright, sync_playwright
  def get_xhr_payload(playwright: Playwright, url: str) -> str:
      with playwright.chromium.launch(headless=True) as browser:
          withbrowser.new_context() as context:
              page = context.new_page()
              responses = []
              
              def response_callback(response):
                  if url in response.url:
                      responses.append(response)
              
              page.route(url, response_callback)
              
              #打开网页并等待XHR请求完成
              page.goto('https://example.com')
              page.wait_for_load_state('networkidle')
              
              # 获取XHR响应的payload
              xhr_payload = responses[0].body()
              
              return xhr_payload
  # 使用playwright获取XHR响应的payload
  with sync_playwright() as playwright:
      xhr_payload = get_xhr_payload(playwright, 'https://example.com/api')
      print(xhr_payload)

在这个例子中,我们使用Playwright启动了一个Chromium浏览器,打开了一个新页面,并注册了一个回调函数来捕获XHR响应。然后,我们等待页面的网络空闲状态,并获取了第一个匹配指定URL的XHR响应的payload。

​现在我也找了很多测试的朋友,做了一个分享技术的交流群,共享了很多我们收集的技术文档和视频教程。
如果你不想再体验自学时找不到资源,没人解答问题,坚持几天便放弃的感受
可以加入我们一起交流。而且还有很多在自动化,性能,安全,测试开发等等方面有一定建树的技术大牛
分享他们的经验,还会分享很多直播讲座和技术沙龙
可以免费学习!划重点!开源的!!!
qq群号:485187702【暗号:csdn11】

最后感谢每一个认真阅读我文章的人,看着粉丝一路的上涨和关注,礼尚往来总是要有的,虽然不是什么很值钱的东西,如果你用得到的话可以直接拿走! 希望能帮助到你!【100%无套路免费领取】


本文转载自: https://blog.csdn.net/Xsk215/article/details/138860095
版权归原作者 程序员Baby~ 所有, 如有侵权,请联系我们删除。

“Python用selenium如何获取xhr里面payload的值?”的评论:

还没有评论