こーいうの
これをWebDriverに選んでもらいたいけどちょっと詰まったのでメモメモφ(・ω・ )
プルダウンメニューをWebDriverで選択する
たとえば,
<select name="preview"> <option value="0">おはよう</option> <option value="1">こんにちわ</option> <option value="2">こんばんわ</option> <option value="3">おやすみ</option> </select>
こんな <Select>があったとすると
ただの Select- optionのプルダウンメニューならサポートしてくれているらしい.
…ってここやこことかここを参考にしてみたけれど…(・д・`)できない
なんでだろうとみてみると
なんか 「inputよこしてるぞゴルァ!щ(゚Д゚#щ) =3」的な話?
こことか眺めていると, どうやらカスタムしたような<select>には対応していないみたいな空気.
…べつにカスタムしてないと思うんだけどなぁ…(・ω・`)
とか思ってたら原因は
nameで locaterを指定していたら, <select>ではなく別の<input>を指定していた
模様. くだらなすぎる…orz
今一度 classや nameに被りがないかちゃんと確認を…(・ω・`)
ちなみにできないと思って探してみた違うやり方.
まぁ 最後の手段 的なやり方ってことで…
というかプルダウンメニューがここに貼れたことにびっくり( ゚д゚ )
Select selector = new Selector(driver.findElement(By.name("preview")));これで準備完了. 試しに 「こんにちわ」 を選びたいなら,
selector.selectByValue("1"); selector.selectByIndex(1); selector.selectByVisibleText("こんにちわ");など, optionの value, id, 表示テキストで選択できる親切設計.
…ってここやこことかここを参考にしてみたけれど…(・д・`)できない
なんでだろうとみてみると
Element should have been "select" but was "input"なんて警告.
なんか 「inputよこしてるぞゴルァ!щ(゚Д゚#щ) =3」的な話?
こことか眺めていると, どうやらカスタムしたような<select>には対応していないみたいな空気.
…べつにカスタムしてないと思うんだけどなぁ…(・ω・`)
とか思ってたら原因は
nameで locaterを指定していたら, <select>ではなく別の<input>を指定していた
模様. くだらなすぎる…orz
今一度 classや nameに被りがないかちゃんと確認を…(・ω・`)
ちなみにできないと思って探してみた違うやり方.
WebElement selector = driver.findElement(By.name("preview")); selector.findElement(By.xpath("//option[@value='1']")).click();いちおうこれでも選択はできた. できたけど…('A`)
まぁ 最後の手段 的なやり方ってことで…
というかプルダウンメニューがここに貼れたことにびっくり( ゚д゚ )
0 件のコメント:
コメントを投稿