在 selenium python 中从驱动程序控制台获取 JSON 数据
Get JSON data from driver console in selenium python
我需要从控制台获取JSON数据,可以在
this 图片。
到目前为止,我使用了以下代码:
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')")
另外,我在网上看到一个方法可以找到
here,使用它我只能获取外部文件的数据索引。
{
"0": {},
"1": {},
"2": {},
"3": {},
"4": {} }
正在寻找一种方法来导入所有数据,每个属性都直接导入我的 python 代码。
提前致谢。
这是可以正常使用的代码段。
from selenium import webdriver
from webdriver_manager.chrome import ChromeDriverManager
driver = webdriver.Chrome(ChromeDriverManager().install())
url = ""
driver.get(url)
elems = driver.execute_script("return document.getElementsByClassName('post-tag js-gps-track')")
for elem in elems:
print(elem.text)
driver.quit()
输出:
javascript
python
json
selenium
console.log
Process 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 only
value = 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")
我需要从控制台获取JSON数据,可以在 this 图片。
到目前为止,我使用了以下代码:
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')")
另外,我在网上看到一个方法可以找到 here,使用它我只能获取外部文件的数据索引。
{ "0": {}, "1": {}, "2": {}, "3": {}, "4": {} }
正在寻找一种方法来导入所有数据,每个属性都直接导入我的 python 代码。
提前致谢。
这是可以正常使用的代码段。
from selenium import webdriver
from webdriver_manager.chrome import ChromeDriverManager
driver = webdriver.Chrome(ChromeDriverManager().install())
url = ""
driver.get(url)
elems = driver.execute_script("return document.getElementsByClassName('post-tag js-gps-track')")
for elem in elems:
print(elem.text)
driver.quit()
输出:
javascript
python
json
selenium
console.log
Process 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 only
value = 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")