人力検索はてな
モバイル版を表示しています。PC版はこちら
i-mobile

seleniumを利用してvb.netでfirefoxで表示したページを操作したいのですが、セレクトボックスの選択が上手く出来ません。

http://stackoverflow.com/questions/21241310/how-best-should-i-interact-with-a-this-li-from-selenium-java-webdriver
上記ページを参考にvb.netに合わせて書き換えてみたのですが、以下の部分でNoSuchElementExceptionとエラーが出てしまいます。操作したいのは上記ページに書かれているサイトと同じサイトです。

Dim shoeSizeSel As FirefoxWebElement
shoeSizeSel = driver.FindElement(By.XPath("//li[@text()='" + Size + "']"))
shoeSizeSel.Click()

xpathでの指定が間違っているのでしょうか?他の部分でしょうか?
また、他の方法でもいいのでこの形式のセレクトボックスの選択方法を教えて欲しいです。テキスト部分で指定したいです。

●質問者: ooppeoppe
●カテゴリ:ウェブ制作
○ 状態 :終了
└ 回答数 : 1/1件

▽最新の回答へ

1 ● gizmo5
●300ポイント ベストアンサー

試していないので自信はありませんが、VB.NET で文字列の連結は「+」ではなく「&」ではないでしょうか。

shoeSizeSel = driver.FindElement(By.XPath("//li[@text()='" & Size & "']"))

Nike のページを見てみると、靴のサイズには数字だけではなく行頭にタブと空白が入っているようです。
stackoverflow に書かれたコードは、正しく動作するでしょうか。
それとも java でも試されて動作を確認されたのでしょうか。


ooppeoppeさんのコメント
文字列の連結は「+」でも良いみたいです。 stackoverflowに書かれたコードが正しく動作するかどうかは確認していません。すみません。。 サイズはJP 26という風にJPから数字部分だけしか変数に入れていなかったので、変数部分を変数ではなくして、改行、タブ、半角スペースも入れて試してみましたがやはりNoSuchElementExceptionというエラーが出ます。改行だけ抜いてみてもはやりNoSuchElementExceptionと出ました。

gizmo5さんのコメント
申し訳ありません。 java で試したかどうかをお伺いしたのは、stackoverflow の xpath の式が怪しいと思ったからです。 改行やタブを入れた xpath はどのようなものを試したのでしょうか。 NoSuchElementException が出るということは xpath の式がマッチしていないように思います。 試しに contains 関数を使ってみるとどうなるでしょうか。 >|| //li[contains(., '9.5')] ||<
関連質問

●質問をもっと探す●



0.人力検索はてなトップ
8.このページを友達に紹介
9.このページの先頭へ
対応機種一覧
お問い合わせ
ヘルプ/お知らせ
ログイン
無料ユーザー登録
はてなトップ