查找具有多个属性的表ID

时间:2016-02-15 11:35:23

标签: python-2.7 selenium automated-tests

我正在尝试使用具有多个属性的find_element_by_xpath来查找属性。

HTML:

<table id="idMainGridhistoryHeader" border="0" class="adodb_dbgrid" qhelp="2.2_zahlavisloupce">
...
</table>

<table id="idMainGridhistory" agname="history" userid="1" entityidcolumnname="hi_id" editable="1" border="0" class="adodb_dbgrid" scrollx="0">
... # id I want to find idMainGridhistory
</table>

我受到了审判this

driver.find_element_by_xpath("//table[contains(@class, 'adodb_dbgrid') and contains(@userid, '1')]").get_attribute('id')

this

driver.find_element_by_xpath("//table[@class='adodb_dbgrid'][@userid='1']").get_attribute('id')

但是一切都将返回无法定位元素。有关如何使用多个元素找到它的任何建议吗?

2 个答案:

答案 0 :(得分:1)

如何找到第二张表还有很多其他方法。选择一个你更喜欢的: 1.从索引表中列出

driver.find_elements_by_tag_name('table')[1].get_attribute('id')

2。按原始属性

driver.find_elements_by_xpath('//table[@userid="1"]').get_attribute('id')

3。更具体的

driver.find_elements_by_xpath('//table[@agname="history"][@class="adodb_dbgrid"]').get_attribute('id')

答案 1 :(得分:0)

试试这个:

driver.find_element_by_xpath("//table[@class='adodb_dbgrid'and @userid='1']").get_attribute('id')