2013-01-21 18 views
27

私はpythonを使ってselenium webdriverでチェックボックスがチェックされているかどうかチェックしていますが、JAVAからのアルゴリズムしか見つかりません。私はwebdriverのドキュメントを読んで、その答えはありません。誰にでも解決策がありますか?Selenium Python Webdriverでチェックボックスがオンになっているかどうかを確認するにはどうすればよいですか?

答えて

4

私は別の方法を見つけるが、内部でJavaScriptを使用します。

def is_checked(self, driver, item): 
    checked = driver.execute_script(("return document.getElementById('%s').checked") % item) 
    return checked 
48

is_selected()と呼ばれるWebElementプロパティがあり、チェックボックスがオンになっているかどうかを示します。

driver.find_element_by_name('<check_box_name>').is_selected() 

または

driver.find_element_by_id('<check_box_id>').is_selected() 

私は同じ問題がドキュメントを見つけることができないた覚えている:したがって、あなたはそれがこのような何かを行うことによって確認/オフになっているかどうかを確認することができます。いったん名前を知ったら(hereはいくつかの文書ですが、is_selectedは下に向かっています)、Seleniumオブジェクトのさまざまなオプションやプロパティを見つける方法は、コードにdir(some_object)をドロップしてオプションが表示されます(これはis_selectedの登場です)。

-2
def assert_checkbox_status (id, expect): 
    global browser 
    field = browser.find_element_by_id(id) 
    assert field.get_attribute ('checked')== expect 

使用例:

assert_checkbox('activate', True) ==> assert if checkbox is checked 
assert_checkbox('activate', None) ==> assert if checkbox is unchecked 
5

私はdriver.find_element_by_name("<check_box_name>").is_selected()

を使用しています
関連する問題