Python Selenium从xPath属性读取值

Python Selenium从xPath属性读取值,python,html,selenium,Python,Html,Selenium,我正在准备一个从时间表中读取数值的程序。我使用的是Python3,selenium使用的是ChromeWebDriver 我已经能够使用.text方法捕获前三列(时间条目、类别和总计)中的文本值。但是,使用相同的方法不适用于从第4列到第5列开始的输入框 这是第一行第四列的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/

我正在准备一个从时间表中读取数值的程序。我使用的是Python3,selenium使用的是ChromeWebDriver

我已经能够使用.text方法捕获前三列(时间条目、类别和总计)中的文本值。但是,使用相同的方法不适用于从第4列到第5列开始的输入框

这是第一行第四列的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)


这是第二行第四列的html(没有值)



它应该提取文本值7,而任何空白单元格都应该提取零或空值。将.text方法与find_元素_by_xpath方法一起使用只会导致空值。html有两个位置的值,“值”和“数据origvalue”。当值为null时,“value”变量不会出现在html中,但“data origvalue”会出现。关于使用selenium从“data origvalue”获取值的任何建议?

具有属性的输入标记
尝试使用元素获取该值。获取属性(“值”)


带[1]的Xpath。。。[3] (etc)的想法真的很糟糕如果你发布相关的HTML,这样就可以提供有效的xpath作为解决方案的一部分。请注意,你提供的HTML也是我为表格HTML请求的唯一输入标记。@Wonka你能建议一种更好的方法,或者指向另一个线程,我可以查看它以获得首选方法吗?感谢您的指导,谢谢@cookiemnstr247查找项目类、id甚至包含文本。您没有在此处发布html,示例“//input[contains(@name,'grdDaysProjects')]”如果这并没有解决您的问题,那么您也需要发布表格的html来诊断问题。完美,正是我想要的。我刚刚在doc页面上搜索了该方法,并将进一步研究它。谢谢
<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">
<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="">
element=driver.find_element_by_xpath("your xpath")
print(element.get_attribute("value"))