首页 > 解决方案 > selenium python从javascript窗口对象返回数据

问题描述

如何在 python selenium 中获取以下对象:

(in firefox/Chrome console):
>>window.Alarms.alarmData
Array [ {…}, {…} ]

这返回空:

alarm = driver.execute_script("return window.Alarms.alarmData;")
print(alarm)
[]

​</p>

标签: pythonselenium

解决方案


您可以尝试等到 JS 对象返回任何非空值:

from selenium.webdriver.support.ui import WebDriverWait

alarm = WebDriverWait(driver, 20).until(lambda driver: driver.execute_script("return window.Alarms.alarmData;"))

推荐阅读