TeccoのWebプログラミングメモ

主にWeb系(たぶんjs多め)のお話。3度の飯よりIEが嫌い。エラー対策が多めになると思う。

*

Webdriverjsの子要素(child element)の指定方法

      2015/03/09

たとえば、こんなhtmlの場合

<header>
  <div>
    <span>hogehoge</span>
  </div>
</header>

 

一発で子要素、孫要素まで指定する方法

var hogePath = driver.findElement(webdriver.By.xpath(“//header/div/span”));

とかで拾えるよ。

 

ちなみに今回はこんなんでもおk(*は子要素なんでもおkって意味でその中の1番目を拾うよ)

  • var hogePath = driver.findElement(webdriver.By.xpath(“//header/*/span”));
  • var hogePath = driver.findElement(webdriver.By.xpath(“//header/*/*”));

階層的に子要素、孫要素を指定する方法

var preHogePath = driver.findElement(webdriver.By.xpath(“//header/div”));

var hogePath = preHogePath.findElement(webdriver.By.xpath(“.//span”));

 

こんな感じで指定できるよ。

 

もちろんこの方法では階層構造が変化すると拾えなくなるので、なるべくidとかclassで拾えるものは拾いたいね。

 - Selenium ,

Message

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です

次のHTML タグと属性が使えます: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>

  関連記事

big-logo
対処法: UnknownError: unknown error: Compound class names not permitted

ボクの場合、SeleniumのWebdriverJsで var hoge = d …