簡體   English   中英

如何使用 Python+Selenium 從 execute_script 獲取 JS 控制台響應代碼?

[英]How do I get JS Console response code from execute_script with Python+Selenium?

我在 Chrome 開發控制台中使用 selenium execute_script() function 發送一個 JS 獲取請求。該請求按預期工作,但我想創建一個 function 來驗證響應是 403 狀態代碼。 是否有內置的 Selenium 函數/庫,我可以使用它將該狀態代碼/響應提取到 object 或我可以斷言的值中?

這是我當前發送請求的代碼:

send_request = """
fetch(url, {
  method: 'POST',
  body: '',
  headers: headers,
})
  .then(res => {
    console.log(res.status)
    return res.json()
  })
  .then(
    (result) => {
      console.log(result)
    },
    (error) => {
      console.error(error)
    }
)"""
context.browser.execute_script(send_request)

您需要 execute_async_script 因為 fetch 是異步的:

status = context.browser.execute_async_script("""
  let [resolve] = arguments
  fetch(url).then(r => resolve(r.status))
""")

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM