2012-01-04 7 views
0

値でドロップダウンオプションを選択しようとしています。しかし、私はクリックや型の関数でそれを行うように見えることはできません。Selenium - ドロップダウンオプションの選択

私はJsonWireProtocolを使用していますが、単純な呼び出しを行っていますが、しばらくの間これに固執していたようです。

私は、次の

$element = $this->get_element('payment-credit-method-cc0-expirationMonth'); 
$this->click_element($element); 

$this->type('payment-credit-method-cc0-expirationMonth', array('U+E015','U+E000','U+E015','U+E000')); 

を試してみた誰でも助けることはできますか?

+0

英語の文章はカンマではなく完全停止で区切られています。あなたの質問は何ですか?何を試しましたか? –

+0

私は悪い、長い時間と悪い習慣を働いていた、更新された情報 –

+0

OK、あなたのアプローチに間違っていた? –

答えて

0

これはあなたがルビーでやる方法です。 11月を月として選択するとします。

@driver.find_element(:id, "payment-credit-method-cc0-expirationMonth'").find_element(:css,"option[value='11']").click 
0

値を選択する前にWaitForElementPresent()を使用してください(選択したい項目で)。セレンはそれが私が推測する前にその要素を見つけようとしています。

+0

すでに –

0

私はJsonWireProtocolだけを使ってSelenium 1からSelenium 2に移行していました。

使用しているPHPバインディングに応じて、私はFacebook's bindingsで次のようにしました。

コードに関するいくつかの前提を設定します。私はあなたが「11月」(オプションの表示を選択することができると信じて支払い、クレジット・メソッドCC0-expirationMonthはあなたの選択のIDであり、あなたが選択している月は11

$this->session->element("xpath", "//select[@id='payment-credit-method-cc0-expirationMonth']/option[@value='11']")->click() 

のそのオプションの値と11月ですラベルも同様)。私はSe1とするために使用さ

$this->session->element("xpath", "//select[@id='payment-credit-method-cc0-expirationMonth']/option[text()='November']")->click() 

バインディングはの$ this - を持っていた>()メソッドを選択し、それは私がやっているすべての要素を選択し、それをクリックさを実現するために私を少し取った:/

0

FacebookのJsonWireProtocol PHPバインディングの使用:

$el=$s->element("css selector", 'select[id="my_id"] option[value="gbp"]'); 
$el->click(); 

$ sがあなたのセッションです。 (Github issueから)

関連する問題