Я пытаюсь извлечь некоторые атрибуты из элемента на веб-сайте, но получаю сообщение Не удается найти ошибку элемента. Элемент не содержит много информации для поиска, кроме атрибутов, и тот, который я хочу, будет меняться каждый раз.
Сначала я конвертировал HTML в текст, а затем проводил поиск по тексту, чтобы получить то, что я хочу. Теперь я пытаюсь сделать это немного более элегантным.
Я пробовал:
browser.find_element_by_name("Status")
для поиска атрибута текста (я знаю, что это неправильно)
browser.find_element_by_xpath("//label[@class='copySource']")
и куча других вариаций
browser.find_element_by_xpath("//element[@attribute='Device Status:']")
плюс некоторые другие вещи.
с помощью этого, с find all elements
, вернул пустой список без ошибки.
browser.find_elements_by_xpath("//span[@class='class']")
Код, который я пытаюсь найти:
<td>
<label class="copySource">Device Registration Status:</label>
</td>
<tr>
<td>
<label class="copySource">Device Status:</label>
</td>
<td>
<span class="copySource copyEndLine">operational</span>
</td>
</tr>
Я пытаюсь извлечь атрибут в последнем элементе, слово «оперативный» (это слово меняется). Получение ошибки (или что-то похожее):
NoSuchElementException: no such element: Unable to locate element:
{"method":"xpath","selector":"//element[@attribute='Device Status:']"}