0

私はすでにテーブルの要素のテキストを知っています:

string title1 = Driver.FindElement(
  By.XPath(
    ".//[@id='ctl00_ContentPlaceHolder1_BreakdownGridView_ctl02_TitleLabel']"
  )).Text;

title1と同じテキストを持つ2番目の要素がテーブルにあるかどうかを確認するにはどうすればよいですか?

これが私のテーブル構造です:

<tr class="alt" style="background-color:White;height:110px;">
  <td>
     <span id="ctl00_ContentPlaceHolder1_BreakdownGridView_ctl03_WindowStartLabel" tabindex="1">
        01/13/2013
     </span>
  </td>
  <td>
     <span id="ctl00_ContentPlaceHolder1_BreakdownGridView_ctl03_ShowLabel" tabindex="1">
       Lea‌​der of the Pack
     </span>
  </td>
  <td>
    <span id="ctl00_ContentPlaceHolder1_BreakdownGridView_ctl03_TitleLabel">
       Love at First Bite
    </span>
  </td>
  <td>
     <span id="ctl00_ContentPlaceHolder1_BreakdownGridView_ctl03_PremiereLabel">
        01/12/2013 22:00
     </span>
  </td>
  ...
</tr> 
4

4 に答える 4

0

title1を取得したら、次のようなロジックを実装して、同じテキストで要素がいくつあるかを確認してください。

int count=driver.findElements(By.xpath("//table[@id='urTable']//*[text()='"+title1+"']")).size();

カウントに基づいて、同じテキストで要素がいくつあるかを簡単に見つけることができます。

于 2013-02-13T05:25:48.760 に答える
0

同じxpath値が2つの要素を持っているかどうかの質問に基づいています。特定の要素の静的な値を確認し、xpathとして使用してください。それは間違いなく動作します。例えば

同じxpath値を持つ保存およびキャンセルボタン

driver.find_element_by_xpath("//*[@id='id_sav']")-save
driver.find_element_by_xpath("//*[@id='id_sav']")-cancel

ここでは静的要素値を使用できます

driver.find_element_by_xpath("//a[text()='save']")-save
driver.find_element_by_xpath("//a[text()='cancel']")-cancel
于 2013-02-20T08:23:40.423 に答える
0

テーブル構造で、以下のように xpath クエリを実行すると、すべてのスパンタグが選択されます。

//tr/td/span

現在、xpath を使用して、次のように特定のテキストを持つスパンタグを選択できます。

//tr/td/span[text() = "Text you're matching against"]

/* in your case*/

//tr/td/span[text() = title1]
于 2013-02-13T04:33:31.377 に答える
0

これは、そのテキストで構成されるスパンを取得するためのものです....(部分一致)

int count= driver.FindElements(
  By.XPath(
    ".//span[contains(text(),'"+titleOneText+"')]"
  )).size();

これは、スパンテキストが同じであることを取得するためのものです....(完全一致)

int count= driver.FindElements(
  By.XPath(
    ".//span[text()='"+titleOneText+"']"
  )).size();
于 2013-02-14T08:37:22.403 に答える