0

わかりました、それはあまりにも一般的に聞こえます。私は他の地域でこれを行うことができましたが、ここで何が違うのかわかりません.

テスト中のシステムのページに、この小さな html のスニペットがあります。

<select id="TransferUnit" name="TransferUnit">
<option value="GB" selected="selected">GB</option>
<option value="TB">TB</option>
</select>

かなり単純ですよね。Selenium から、select 要素で .click() を発行してプルダウンを開くことができます。2 つのオプションが表示されていることを .is_displayed() で確認できます。.is_selected() で選択されているかどうかを確認できます。しかし、リスト内のどの要素が選択されているかを .click() で変更することはできません。

もちろん、これは手動で試してみるとうまくいきます。しかし、私はそれを自動化するのに多くの問題を抱えています。

どんな援助も大歓迎です。

4

2 に答える 2

1

IDE で、次のようなロケーターを使用して要素をクリックします。

xpath="//option[@value='TB']"
于 2012-05-31T20:24:11.267 に答える
1

このドキュメントによると、次のいずれかを実行できます。

また

// even when the drop down is not expanded
driver.find_element_by_xpath("//option[@value='TB']").click();

また

select = Select(driver.find_element_by_tag_name("select"))
select.deselect_all()
select.select_by_visible_text("TB")

の Python ドキュメントSelect

どちらも機能しない場合は、Selenium のバージョン (現在のバージョンは 2.22.0) とブラウザーを更新します (可能であれば)。たとえば、完全にサポートされている Firefox は 3.6.*、10、11、12 です。

それでも何もうまくいかない場合は、私たちの努力を台無しにしている厄介な Javascript を探してください。

于 2012-06-01T00:17:34.113 に答える