我在python中使用selenium。我碰到了这张桌子上的小结。我需要检查一个字符串是否存在于webelement中,并返回相应的字符串以防止其存在。
<table width="700px" class="tableListGrid">
<thead>
<tr class="tableInfoTrBox">
<th>Date</th>
<th>Task Code</th>
<!-- th>Phone Number</th -->
<th>Fota Job</th>
<th colspan="2" class="thLineEnd">Task Description</th>
</tr>
</thead>
<tbody>
<tr class="tableTr_r">
<td>2018-04-06 05:48:29</td>
<td>FU</td>
<!-- td></td -->
<td>
<a href="javascript:checkSchedule('57220180406-JSA69596727');">57220180406-JSA69596727</a>
</td>
<td style="text-align:left;">
updated from [A730FXXU1ARAB/A730FOJM1ARAB/A730FXXU1ARAB] to [A730FXXU2ARC9/A730FOJM2ARC1/A730FXXU2ARC9]
</td>
<td>
<table class="btnTypeE">
<tr>
<td>
<a href="#syncml" class="02320180406WSA84301933" onclick="showSyncML('IMEI352020090050529', '02320180406WSA84301933')">View</a>
</td>
</tr>
</table>
</td>
</tr>
</tbody>
</table>我需要在此元素中搜索"A730FXXU2ARC9/A730FOJM2ARC1/A730FXXU2ARC9“,并返回"57220180406-JSA69596727”,该“57220180406-JSA69596727”位于网页中的另一个位置。在硒中可以吗?
编辑:清除代码,使其只包含有用的数据。
发布于 2018-04-24 11:10:28
这可以通过使用以下Xpath查找元素来实现:
//td[contains(., 'A730FXXU2ARC9/A730FOJM2ARC1/A730FXXU2ARC9')]/preceding-sibling::td[1]/aXpath可以读为
查找包含"A730FXXU2ARC9/A730FOJM2ARC1/A730FXXU2ARC9“的
td。然后在找到的td之前找到td并移动到a标记
之后,您可以使用selenium获取文本。
driver.find_element(By.XPATH, '//td[contains(., 'A730FXXU2ARC9/A730FOJM2ARC1/A730FXXU2ARC9')]/preceding-sibling::td[1]/a').text发布于 2018-04-24 11:24:00
要查找文本e.g.A730FXXU2ARC9/A730FOJM2ARC1/A730FXXU2ARC9并查找关联的文本,例如57220180406-JSA69596727,,您可以编写如下函数:
def test_me(myString):
myText = driver.find_element_by_xpath("//table[@class='tableListGrid']//tbody/tr[@class='tableTr_r']//td[.='" + myString + "']//preceding::td[1]/a").get_attribute("innerHTML")现在,在您的main()/@Test中,您可以使用所需的文本调用函数,如下所示:
test_me("A730FXXU2ARC9/A730FOJM2ARC1/A730FXXU2ARC9")https://stackoverflow.com/questions/49999407
复制相似问题