【发布时间】:2021-12-16 22:52:58
【问题描述】:
我正在尝试使用 selenium 从网站收集一些信息。 我对 div 元素中的一些信息(img)感兴趣:
<div class="entry-content clearfix">
...
<img data-attachment-id="7677" data-permalink="https://test_site.com/leftcentre/" ... alt="Example of site" >
<img data-attachment-id="98231" data-permalink="https://test_site.com/high/" ... alt="another site" >
img data-attachment-id 的值可能会改变:所以我可以有 7677、7664 和其他值。这意味着我可以在许多其他 Xpath 中拥有以下 Xpath:
-
//*[@id="post-63779"]/div/h2[1]/img[1] -
//*[@id="post-781"]/div/header/h1/a/img
到目前为止,我为提取此信息所做的工作如下所示:
from selenium import webdriver
from selenium.webdriver.support.ui import WebDriverWait
from selenium.webdriver.common.by import By
from selenium.webdriver.support import expected_conditions as EC
import time
driver=webdriver.Chrome('my_path')
response=driver.get('https://website)
wait = WebDriverWait(driver, 20)
x = driver.find_element_by_xpath('//*[@id="post-781"]/div/header/h1/a/img').text
# print(x)
return x
但可能我犯了一些错误,因为我没有输出并且 chrome 仍在继续寻找元素。 我想知道是否有机会在不明确引用 div 和 img 之间的帖子编号或元素的情况下获取图像,或者只是提取所有 img data-attachment-id 信息。 如果我的问题或路径不清楚,请告诉我,我会为您提供更多信息。
【问题讨论】:
标签: python selenium web-scraping xpath selenium-chromedriver