Получение SRC из элемента с использованием селена - PullRequest
1 голос
/ 08 июля 2019

Я пытаюсь получить 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:

element

1 Ответ

0 голосов
/ 08 июля 2019

Кажется, вы были близки. Чтобы извлечь атрибут src в качестве элемента с поддержкой JavaScript , вам нужно вызвать WebDriverWait для visibility_of_element_located(), и вы можете использовать любой из следующих Стратегий Локатора :

  • Использование 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
    
...