更新 2
我正在使用 C# 和名为 GridView 的控件在.Net 上工作......所以 gridview 控件呈现并吐出这个 html 如下所示:这只是一个小的示例 html 源代码,TR
我有 100 多个......
<tr class="item">
<td align="center">
<td align="center" style="width:15px;"/>
<td>John John</td>
<td/>
<td>Friendship</td>
<td/>
<td>
<td>9/7/2012 6:28:29 PM</td>
</tr>
所以,我正在尝试查找是否John John
存在,这就是我最终使用 XPATH 的方式
int pageCount = 100;
bool assertFlag = false;
for (int i = 0; i < pageCount; i++)
{
try
{
string _Id = String.Format("//*[@id='ctl00_ContentPlaceHolder1_AddeCardControl1_gridview_control']/tbody/tr[{0}]/td[3]", i);
string _txt = GetText(By.XPath(_Id));
if (_txt == "some text comparing here")
{
//matched
assertFlag = true;
break;
}
}
catch (Exception e)
{
//
}
}
你们觉得怎么样?还是我犯了可怕的错误?
PS:没有 ID 或 CSS 选择器我可以这样做,所以除了使用 XPATH 之外我没有其他选择
结束更新 2
更新
我正在使用带有 C# 的 Selenium WebDriver 2,我正在使用 IE 8 和 FF
结束更新
我仍然不确定是什么导致这个错误被抛出,所以我有脚本并且它可以工作,当我第二次运行它失败并收到以下消息......如果我继续运行不止一次,那么它有时会工作,有时不是……我该怎么办?是什么导致了这个错误?有什么见解吗?
有时我会收到此错误消息:
Element is no longer valid
有时这样:
Unable to find element with xpath == //*[@id='ctl00_ctl00_ctl00_LeftNavigation_LeftNavigation_LeftNavigationControl1_rptLeftNav_ctl14_lnkText']