我正在尝试验证网页中表格中的特定文本。文字是" ACTIVE"。同一页面上还有其他位置显示相同的文本。但是我想检查一下" ACTIVE"在那张桌子里。
我尝试使用driver.getPageSource()。contains(" ACTIVE"); - 但是,这会验证整个页面。
元素的Xpath是:
的HTML /体/表/ tbody的/ TR / TD [2] /形式/表[2] / tbody的/ TR 1 / TD /表1 / TBODY / TR / TD /表[4] / tbody的/ TR / TD 1 /表/ tbody的/ TR [6] / TD [2]
这里是下面的html
<html>
<head>
<body leftmargin="2" topmargin="2" onload="initializeData()" marginwidth="2" marginheight="2" bgcolor="#ffffff">
<table width="756">
<tbody>
<tr>
<td width="9"/>
<td width="764">
<form frm_id="frm" name="frm">
<table width="754" cellspacing="0" cellpadding="0" border="0">
<table height="629" width="763">
<tbody>
<tr>
<td height="625" width="770">
<table width="728">
<tbody>
<tr>
<td>
<table height="10" width="739" cellspacing="0" cellpadding="0" border="0">
<table height="10" width="736" cellspacing="0" cellpadding="0" border="0">
<table height="4" width="740" cellspacing="0" cellpadding="0" border="0">
<table height="86" width="100%" border="1">
<tbody>
<tr>
<td height="80" width="33%" valign="top">
<table height="267" width="103%" border="0">
<tbody>
<tr>
<tr>
<tr>
<tr>
<tr>
<tr>
<td height="20" width="47%" align="left">Current Status</td>
<td height="20" width="155%">
<b>:</b>
ACTIVE
</td>
答案 0 :(得分:3)
试试这个XPATH表达式:
//tr[ *[ text() = 'Current Status' ] ]/td[ b ]
它找到包含带有Current Status
文本的直接子项的TR元素,然后选择它包含B标记的直接子TD(TR的子节点)。
或者直接选择第二个TD标签:
//tr[ *[ text() = 'Current Status' ] ]/td[ 2 ]
您也可以使用此
//tr[ *[ text() = 'Current Status' ] ]/td[ text() = 'Active' ]
以检查Acive
文字是否在名为Current Status
的字段(行)中的屏幕上显示或显示。