使用硒从元素获取src

时间:2019-07-08 04:03:33

标签: python selenium xpath css-selectors webdriverwait

我正在尝试将元素的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

1 个答案:

答案 0 :(得分:0)

您似乎很近。要在元素启用JavaScript时提取 src 属性,您必须为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