Требуется Selenium для возврата содержимого заголовка класса данного HTML - PullRequest
0 голосов
/ 21 июня 2019

Использование Selenium для веб-скрепинга.Зайдите на сайт, где HTML-таблица данных возвращается с пятью значениями одновременно.Я собираюсь сделать так, чтобы Selenium очистил определенную часть данных со стола, записал в файл, щелкнул далее и повторил со следующими пятью.

Новый скрипт автоматизации.У меня есть множество вариантов get_attribute, find_elements_by_class_name и т. Д. Пример:

pnum = prtnames.get_attribute("title")
for x in prtnames:
    print('pnum')

Вот HTML-код одного из возвращаемых значений:

<div class="text-container prtname"><span class="PrtName" title="P011">P011</span></div>

Мне нужно получить это значение "P011".Очевидно, что у Selenium нет «find_elements_by_title», и для этого значения нет HTML-идентификатора.Xpath для этой строки HTML:

//*[@id="printerConnectTable"]/tbody/tr[5]/td/table/tbody/tr[1]/td[2]/div/span

Но я не вижу ссылки на "title" или "P011" в этом Xpath.

    pnum = prtnames.get_attribute("title")
AttributeError: 'list' object has no attribute 'get_attribute'

Похоже, что get_attribute не существует, но есть некоторая (хотя и небольшая) документация по нему.

По сути, я хотел бы получить это значение "P011" и вывести на консоль, тогда я знаюSelenium работает с правильными данными.

PS Я самообучаюсь всему этому, я автоматизирую задачу сисадмина.

1 Ответ

1 голос
/ 21 июня 2019

Мне кажется, проблема в том, что prtnames - это список элементов, а не конкретный элемент. Вы можете использовать понимание списка, если вам нужен список атрибутов заголовков для списка prtnames.

pnums = [x.get_attribute('title') for x in prtnames]
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...