【问题标题】:How to load more dynamically generated html elements of a webpage? [duplicate]如何加载更动态生成的网页 html 元素? [复制]
【发布时间】:2021-04-15 13:14:34
【问题描述】:

我想使用 python 和 selenium 从网页 (https://www.evaschulze-aufgabenpool.de/index.php/s/smwP6ygck2SXRtF?path=%2FKlasse12) 获取一些数据,但我想要的内容是动态生成的,要查看您必须在网页上向下滚动的所有内容。更具体地说,我想获取网站上显示的所有文件夹名称,但它不起作用。我尝试使用 selenium 向下滚动整个网页似乎也无法正常工作,但我不知道我做错了什么或者我还能做些什么来获取所有文件夹名称。所以我的问题是:我怎样才能确保我总是获得网站的所有动态生成的文件夹。

这是我正在使用的代码:

from time import sleep
from selenium import webdriver

url = "https://www.evaschulze-aufgabenpool.de/index.php/s/smwP6ygck2SXRtF?path=%2FKlasse12"

driver = webdriver.Chrome("chromedriver.exe")
driver.get(url)
driver.maximize_window()

sleep(3)
for i in range(5):
    driver.execute_script("window.scrollTo(0, 1080)")
    sleep(3)

data = driver.find_element_by_tag_name("table")
data = data.find_elements_by_tag_name("tr")

for element in data:
    name = element.get_attribute("data-file")
    if name is not None:
        print(name)

driver.quit()

【问题讨论】:

  • 如果你想用 Selenium 这样做,在这里你可以找到如何确保你已经到达页面底部,然后你可以浏览所有文件夹:stackoverflow.com/questions/32391303/…
  • 是的,谢谢,所以我想我的问题已经回答了

标签: python selenium dynamic-html


【解决方案1】:

Cześć,使用 NextCloud 提供的 API 列出您的文件和许多其他内容。这样,您将得到纯文本的答案。您可以在此处找到示例:Nextcloud list files using API

使用 Python 请求库而不是 curl 工具,使用 HTTP GET 查询。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2016-08-07
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多