0

次のような HTML があります。

<ul id="directory">
    <li><a id="first" href="/first">first</a></li>
    <li><a id="second" href="/second">second</a></li></ul>

テキストと ID「ディレクトリ」の ul との関係に基づいて、ID「秒」のリンクを見つけ、watir-webdriver を使用してクリックします。

単純に次のように言えるようです。

browser.ul(:id => 'directory').li.a(:text => 'second')

しかし、これは存在しません。

調査した後、私はおそらく次のようにするべきだと思いました:

browser.ul(:id => 'directory').lis.a(:text => 'second')

しかし、方法LICollectionすらありません。a多分私は何かをするべきだと思いますeachが、それがどうなるかわかりません.

これらの基準を使用して、CSS または XPath セレクターに頼らずに、この要素を特定できる良い方法はありますか?

  1. アンカーです。
  2. 「秒」というテキストがあります。
  3. これは、ID「ディレクトリ」を持つ ul 要素の子である li 要素の子です。
4

2 に答える 2

2

できるよ:

browser.ul(:id => 'directory').a(:text => 'second')

Watir-Webdriver では、リンクにアクセスするために li 要素を指定する必要はありません。同様に、合理的に形成された HTML ページを想定すると、ul 要素内のリンクはすべて li 要素になります (つまり、ul 要素の直接の子として許可されるのは li 要素だけだと思います)。

于 2012-08-13T19:33:40.647 に答える