【发布时间】:2020-04-15 15:11:18
【问题描述】:
硒版本 3.141。 Chrome 驱动程序,Windows 10
你好,
目的是提取 HTML DOM 属性的值,特别是从 website 显示的每个图像的 id、href 和 data-download-file-url(选择本网站纯粹是出于教育目的)。虽然存在其他可用于提取所有这些项目的方法,但目前,我使用find_elements_by_xpath 方法。但是,如果有人想提出我不知道的更有效的方法,我欢迎。
从上述网站,目标元素的 Xpath 是
/html/body/main/section[2]/div/div/figure[X]/div
大写X表示上述网站的取值范围为1到50的Image标签。每个数字都属于 showcase__content 类。
我尝试了以下几行
titles_element = browser.find_elements_by_xpath("//div[@class='showcase__content']/a")
# List Comprehension to get the actual repo titles and not the selenium objects.
titles = [x.text for x in titles_element]
但是,titles_element 没有提取 dom 属性。因此titles 产生[]。
我也很想尝试以下方法,但它给了我一个错误
titles_element = browser.find_elements_by_xpath("//figure[1]/div[@class='showcase__content']//@data-download-file-url")
如果有人能阐明这个问题,我真的很感激。
图 1 的 DOM 属性示例。这些属性都是粉红色的。 https://drive.google.com/open?id=190q615C3uXLZUQNI8K4AJYL3Slii1ktO
【问题讨论】:
-
你要获取你发布的图片中的元素吗?
-
我想提取 id、href 和 data-download-file-url 三个元素。但是,如果你可以添加额外的例子来获取图片,那么你是最受欢迎的。
标签: python selenium xpath web-scraping