从 selenium python 中的驱动程序控制台获取 JSON 数据

我需要从控制台获取 JSON 数据,可以在 这张图片中看到。

到目前为止,我使用了以下代码:

j = driver.execute_script(" return document.getElementsByClassName('form-group text required assessment_questions_choices_text')")

我试图将数据保存到列表中,但效果不佳。

list = []
list = driver.execute_script(" return document.getElementsByClassName('form-group text required assessment_questions_choices_text')")

另外,我在网上遇到了一种方法,可以在 这里找到,使用它我只能将数据的索引获取到外部文件。

{ “0”:{},“1”:{},“2”:{},“3”:{},“4”:{} }

寻找一种方法来导入所有数据,将每个属性直接导入我的 python 代码。

提前致谢。


MMTTMM
浏览 443回答 1
1回答

HUX布斯

这是没有任何问题的代码段。from selenium import webdriverfrom webdriver_manager.chrome import ChromeDriverManagerdriver = webdriver.Chrome(ChromeDriverManager().install())url = "https://stackoverflow.com/questions/61240545/get-json-data-from-driver-console-in-selenium-python"driver.get(url)elems = driver.execute_script("return document.getElementsByClassName('post-tag js-gps-track')")for elem in elems:    print(elem.text)driver.quit()输出:javascriptpythonjsonseleniumconsole.logProcess finished with exit code 0编辑1:如果您想获得特定的匹配元素,请使用以下内容。value = driver.execute_script("return document.getElementsByClassName('name_of_class')[0].innerHTML")# or you can also use the below if you are interested in first item onlyvalue = driver.execute_script("return document.querySelector('.single_class')[0].innerHTML")# query selector with multiple classes (class name with whitespaces)value = driver.execute_script("return document.querySelector('.class1.class2')[0].innerHTML")
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Python