我有一个受测试的应用程序,它具有如下所示的表格结构:
<table width="100%" cellspacing="0" cellpadding="0" border="0" style="background-color: White">
<tbody>
<tr>
<td id="lefthandcol" class="b24-lefthandcol" valign="top" style="width: 130px !important">
<td style="height: 400px; width: 5px">
<td style="height: 400px; width: 5px">
<td valign="top">
<div id="ctl00_ContentPlaceHolder1_MiddlePanel">
<div id="DestinationDiv"></div>
<table>
</td>
<td style="height: 400px; width: 5px">
<td style="height: 400px; width: 5px">
<td width="225" valign="top" align="right" style="background-color: White;">
</tr>
</tbody>
</table>
问题是如何识别此表,因为它没有id
?
在这种情况下,人们通常会做些什么?
答案 0 :(得分:2)
您应该找到任何唯一的父子关系,并在CSS或Xpath的帮助下编写:
IWebElement table = driver.FindElement(By.XPath("//table[descendant::*[@id='ctl00_ContentPlaceHolder1_MiddlePanel']]"));
因此,将找到带有id=ctl00_ContentPlaceHolder1_MiddlePanel
的后代元素的表。
答案 1 :(得分:1)
如果id不可用,则使用xpath或css。如果你不能自己编写它们,那么你可以使用firebug和xpath checker之类的工具。