0

テスト中の私のページのスナップショットは次のとおりです。

<div class="menubox1">
  <table class="menubox1box1">
    <tbody>
      <tr class="menubox2">
        <td class="menubox22">
          <table class="menubox221">
            <tbody>
              <tr>
                <td class="menubox2211" id="tdMenuBar">
                  <table id="tblMenuBar">
                    <tbody>
                      <tr id="mytr">
                      <>
                      <div id="divMenu">

xpath を使用して div にアクセスする必要がありますが、そのすぐ上に空のノードがあります。このような空のノードをどのように処理すればよいですか?

これをフレーミングしてみました: By.xpath("//*[@class=\"menubox1\"]/table/tbody/tr/td/table/tbody//div")

要素の識別に失敗しました。ここで何か不足していますか?

4

3 に答える 3

0

以下のロケーターを試してみてください。

By.cssSelector("#tblMenuBar #divMenu")

or

By.cssSelector("#tdMenuBar > #tblMenuBar #divMenu")

PS : 何かに動的ロケーターがあるか、一意でない場合は、一意のロケーターに関してその要素を見つけようとします。

于 2015-06-11T06:04:34.393 に答える
0

現在の XPATH が間違っています。解決策があります:

By.xpath("//div[@class='menubox1']/table/tbody/tr/td/table/tbody/tr/td/table/tbody/div")

以下の簡単な方法を試して、何が起きているか教えてください。

By.xpath("//div[@id='divMenu']")

PS :

空のノードについて詳しく説明してください。

それはのようなものです:

<table id="tblMenuBar">
  <tbody>
    <tr id="mytr">
    <>
    <div id="divMenu">
</table>

また

<table id="tblMenuBar">
  <tbody>
    <tr id="mytr">
    <>
      <div id="divMenu">
    <>
</table>
于 2013-06-26T14:52:00.877 に答える