Как получить значение WebElement - PullRequest
3 голосов
/ 29 января 2020

Я пытаюсь l oop просмотреть элементы таблицы на странице нашей ERP-системы.

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

Вот последний код, который я пробовал:

approved_suppliers = driver.find_elements_by_xpath("//tbody[@id='ApprovedSupplierBody']")
for supplier in approved_suppliers:
    print('Supplier',supplier.id)

, если я заменю print('Supplier',supplier.id) на print('Supplier',supplier.value), я получаю следующую ошибку:

AttributeError: 'WebElement' object has no attribute 'value'

В примере на снимке экрана я хочу, чтобы код печатал 300 Below, а при наличии нескольких поставщиков имена полей увеличиваются на 1. Например, pik_Supplier_1, pik_Supplier_2, et c .

enter image description here

Спасибо за помощь!

1 Ответ

4 голосов
/ 29 января 2020

Элемент с id ApprovedSupplierBody является отдельным элементом, чтобы получить элементы с id pikSupplier, вам необходимо включить его в xpath

approved_suppliers = driver.find_elements_by_xpath("//tbody[@id='ApprovedSupplierBody']//input[starts-with(@id, 'pikSupplier')]")

Чтобы получить значение, которое вы необходимо использовать get_attribute для получения значения свойства

supplier.get_attribute('value')

То же самое нужно сделать с id, supplier.id вернет внутреннее WebElement свойство id, что-то вроде 92505ac9-2c32-447e-b94a-8c7398b53e0e а не ApprovedSupplier.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...