如何检查特定值显示在Selenium Web驱动程序的表中

时间:2017-10-25 18:58:34

标签: java selenium

Active

我正在尝试验证网页中表格中的特定文本。文字是" 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>

1 个答案:

答案 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的字段(行)中的屏幕上显示或显示。