2017-10-25 12 views
1

Activeは、私は、Webページ内の表内の特定のテキストを検証しようとしています

セレンのWebドライバでテーブル内に表示されます。テキストは「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> 
<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> 

答えて

3

以下のHTMLは、このXPath式を試してください。

//tr[ *[ text() = 'Current Status' ] ]/td[ b ] 

Current Statusというテキストを持つ直接的な子を含むTR要素を見つけて、Bタグを含む直接の子TD(TRの子)を選択します。

または第二のTDタグを選択しdirecty:Aciveテキストが画面上に存在または表示されている場合

//tr[ *[ text() = 'Current Status' ] ]/td[ 2 ] 

はまた、チェックするために、この

//tr[ *[ text() = 'Current Status' ] ]/td[ text() = 'Active' ] 

を使用することができますフィールド(行)はCurrent Statusとなります。

+0

これはbタグとともに機能しました。どうもありがとうございます – johnsonambrose

関連する問題