Я готовлю программу, которая читает значения из расписания. Я использую Python 3 и селен с помощью веб-драйвера Chrome.

Я был в состоянии использовать метод .text для захвата текстовых значений в первых трех столбцах (Ввод времени, Категория и Итоги). Однако использование того же метода не работает в полях ввода, начиная со столбца 4 до.

enter image description here

Вот xpath для первого ряда, четвертого столбца.

/html/body/form/table/tbody/tr/td/table/tbody/tr[2]/td[2]/table[3]/tbody/tr/td[2]/div/table[1]/tbody/tr/td/table[1]/tbody/tr[1]/td[1]/input

Вот HTML для первой строки, четвертого столбца (со значением 7)

<input name="grdDaysProjects$ctl02$txtPrjCol0" type="text" value="7" maxlength="5" readonly="readonly" id="grdDaysProjects_ctl02_txtPrjCol0" class="GridInputsShort" onblur="GetTotalRow('1','grdComboProjects_ctl02_lblHours',2,6,'grdDaysProjects'); VerticalSum(0,'grdTotal',2,1,0); AntiXSS('grdDaysProjects_ctl02_txtPrjCol0')" data-origvalue="7">

Вот HTML для второй строки, четвертого столбца (без значения)

<input name="grdDaysProjects$ctl03$txtPrjCol0" type="text" maxlength="5" readonly="readonly" id="grdDaysProjects_ctl03_txtPrjCol0" class="GridInputsShort" onblur="GetTotalRow('1','grdComboProjects_ctl03_lblHours',3,6,'grdDaysProjects'); VerticalSum(0,'grdTotal',2,1,0); AntiXSS('grdDaysProjects_ctl03_txtPrjCol0')" data-origvalue="">

Он должен извлечь текстовое значение 7, в то время как любые пустые ячейки должны извлечь нулевое или нулевое значение. Использование метода .text с методом find_element_by_xpath приводит только к нулевым значениям. HTML-код имеет значение в двух местах: «значение» и «data-origvalue». Когда значение равно нулю, переменная «value» не отображается в html, а «data-origvalue» - появляется. Любые предложения по получению значения из «data-origvalue» с использованием селена?

1
cookiemnstr247 20 Дек 2019 в 18:36

1 ответ

Лучший ответ

Входной тег с атрибутом value Попробуйте извлечь это значение, используя element.get_attribute ("value")

element=driver.find_element_by_xpath("your xpath")
print(element.get_attribute("value"))
1
KunduK 20 Дек 2019 в 15:42