Chrome 是否可以使用selenium webdriver与浏览器devtools交互?

wb1gzix0  于 2023-08-01  发布在  Go
关注(0)|答案(2)|浏览(175)

例如,如果我在Google Chrome上使用Youtube,并且我想从devtools中的本地存储中提取我的youtube设备ID。在 selenium 中有可能这样做吗?
例如,应用程序本地存储中的键是“yt-remote-device-id”,我想从“{”data“:”22 acf 168 - 869 b-4345-b 935 - 1bd 0 de 15 c5 ff“,”expiration“:1688591002039,”creation“:1657055002039}”的值中提取“22 acf 168 - 869 b-4345-b 935 - 1bd 0 de 15 c5 ff”,这可能吗?
我正在使用 selenium webdriver与python

ebdffaop

ebdffaop1#

xFranco差点就成功了

device_id = driver.execute_script("""
  return JSON.parse(window.localStorage.getItem("yt-remote-device-id")).data
""")

字符串

dwbf0jvd

dwbf0jvd2#

Selenium提供了execute_script()方法,该方法允许您在当前页面的上下文中执行JavaScript代码。
更新(thx to @pguardiario):

from selenium import webdriver

driver = webdriver.Chrome()
driver.get("https://www.youtube.com")

# Execute JavaScript code to retrieve the device ID from local storage and parse it as JSON
device_id = driver.execute_script('return JSON.parse(window.localStorage.getItem("yt-remote-device-id")).data')

print(device_id)

driver.quit()

字符串

相关问题