使用selenium从元素获取src

2024-05-20 09:32:16 发布

您现在位置:Python中文网/ 问答频道 /正文

我想把一个元素的src作为一个字符串。你知道吗

我使用find_element_by_xpath()来查找元素。我可以使用element.get_attribute("class")来获取类,但无法通过这种方式获取src。你知道吗

我的代码片段:

image = driver.find_element_by_xpath('//*[@id="irc_cc"]/div[2]/div[1]/div[2]/div[1]/a/img')
print(image.get_attribute("class"))
print(image.get_attribute("src"))

以下是我的终端结果:

irc_mi None

这是chrome inspect元素中的元素的外观:

element


Tags: 字符串imagedivsrc元素getbyirc
1条回答
网友
1楼 · 发布于 2024-05-20 09:32:16

好像你很亲近。要提取src属性,因为元素是启用了JavaScript的元素,必须为visibility_of_element_located()引入WebDriverWait,并且可以使用以下Locator Strategies

  • 使用CSS_SELECTOR

    print(WebDriverWait(driver, 20).until(EC.visibility_of_element_located((By.CSS_SELECTOR, "img.irc_mi[alt='Image result for snowman']"))).get_attribute("src"))
    
  • 使用XPATH

    print(WebDriverWait(driver, 20).until(EC.visibility_of_element_located((By.XPATH, "//img[@class='irc_mi' and @alt='Image result for snowman']"))).get_attribute("src"))
    
  • 注意:必须添加以下导入:

    from selenium.webdriver.support.ui import WebDriverWait
    from selenium.webdriver.common.by import By
    from selenium.webdriver.support import expected_conditions as EC
    

相关问题 更多 >