こーいうの
これを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 件のコメント:
コメントを投稿