【问题标题】:Locating specific img with Python Selenium使用 Python Selenium 定位特定的 img
【发布时间】:2021-01-31 08:46:38
【问题描述】:

我正在尝试下载 Instagram 页面上的帖子,但每次 Selenium 选择并下载个人资料照片。

    def downloadPost(self,link):
     os.system("cls")
     self.link = link
     self.browser = webdriver.Chrome(self.drvPath, chrome_options=self.browserProfile)
     self.browser.get(link)
     time.sleep(2)
     img = self.browser.find_element_by_tag_name('img')
     src = img.get_attribute('src')
     urllib.request.urlretrieve(src, f"{self.imgPath}/igpost.png")
     self.browser.close()

我要拍摄的照片标签在第二个 img 标签下,我无法识别它。

html code that I try to scrape

【问题讨论】:

  • 您是否尝试过将 findall 与 css-classes 一起使用?或者您可以使用 www.instagram.com/username/?__a=1 然后在文本中使用正则表达式
  • 只需使用 find_elements 然后索引第二个元素 [1] 或使用 xpath //img[@alt=''] 甚至 //div/img 就像 xpath 一样。

标签: python selenium instagram


【解决方案1】:

有很多方法可以做到这一点。通过抓取第二个 img 标签或第一个带有 img 子类的 div。

self.browser.find_elements_by_tag_name("img")[1]

self.browser.find_element_by_xpath("//div/img")

self.browser.find_element_by_xpath("//img[@alt='whateverattributevalueithas']")

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2022-01-05
    • 1970-01-01
    • 2022-12-01
    • 1970-01-01
    • 1970-01-01
    • 2021-12-26
    • 1970-01-01
    相关资源
    最近更新 更多