Перейти к содержимому

Фотография

div извлечь текст


  • Авторизуйтесь для ответа в теме
Сообщений в теме: 3

#1 TinderVinder

TinderVinder

    Новый участник

  • Members
  • Pip
  • 7 сообщений
  • ФИО:Круглов Михаил

Отправлено 12 августа 2013 - 13:03

Друзья, задача вроде бы простейшая: http://pogoda.mail.ru/photo_list.html извлечь отображаемый текст из тегов

<div class="previews__item__descr">п. Лазурный</div>

но

from selenium import webdriver

page = webdriver.Firefox()

try:
    page.get("http://pogoda.mail.ru/photo_list.html")
    lDivs = page.find_elements_by_tag_name('div')
    for eDiv in lDivs:
        sClass = eDiv.get_attribute('class')
        if sClass and (sClass == "previews__item__descr"):
            sValue = eDiv.get_attribute('text')
            if sValue:
                print(sValue + '\n')
finally:
    page.quit()

почему результат пустой? Смена на поиск по XPath не помогает.
  • 0

#2 vmaximv

vmaximv

    Опытный участник

  • Members
  • PipPipPipPip
  • 350 сообщений

Отправлено 12 августа 2013 - 13:14

http://selenium.goog...t.html#getText()
Проперти text у нода не бывает(по дефолту). В FF это textContent, а в IE innerText.
  • 1

#3 Vitalik_V

Vitalik_V

    Активный участник

  • Members
  • PipPip
  • 149 сообщений
  • ФИО:Виталий
  • Город:Харьков

Отправлено 12 августа 2013 - 13:16

Друзья, задача вроде бы простейшая: http://pogoda.mail.ru/photo_list.html извлечь отображаемый текст из тегов

<div class="previews__item__descr">п. Лазурный</div>

но

from selenium import webdriver

page = webdriver.Firefox()

try:
    page.get("http://pogoda.mail.ru/photo_list.html")
    lDivs = page.find_elements_by_tag_name('div')
    for eDiv in lDivs:
        sClass = eDiv.get_attribute('class')
        if sClass and (sClass == "previews__item__descr"):
            sValue = eDiv.get_attribute('text')
            if sValue:
                print(sValue + '\n')
finally:
    page.quit()

почему результат пустой? Смена на поиск по XPath не помогает.

Я не силен в питоне, но по идее должно быть так: sValue = eDiv.text
  • 2

#4 Nwd

Nwd

    Новый участник

  • Members
  • Pip
  • 28 сообщений

Отправлено 12 августа 2013 - 13:44

Если я конечно, правильно понял то что вы хотите получить

driver.get("http://pogoda.mail.r...hoto_list.html");
List<WebElement> images = driver.findElements(By.xpath("//div[@class='previews__item__descr']"));
for (WebElement image : images) {
System.out.println(image.getText());}
}
  • 1


Количество пользователей, читающих эту тему: 0

0 пользователей, 0 гостей, 0 анонимных