[英]Returning javascript data from Python Selenium Web Driver
[英]Get JSON data from driver console in selenium python
我需要从控制台获取 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 代码。
提前致谢。
这是没有任何问题的代码段。
from selenium import webdriver
from webdriver_manager.chrome import ChromeDriverManager
driver = 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()
output:
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")
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.