2016-04-07 58 views
0

私は奇妙な問題があります。私は要素をドロップダウンして、私は値 "いいえ"を選択したいと思います。私のSelenium Pythonコードは値 "No"を選択しません。 この要素をクリックして、クリックが機能し、その要素が表示されているかどうかを確認しようとしました。
クリックが機能し、ドロップダウン要素が開きます。Selenium Pythonはドロップダウンから値を選択できませんが、ドロップダウンを開くにはクリックできます

マイセレンPythonのコードは次のとおりです。

from selenium.webdriver.support.ui import WebDriverWait 
from selenium.webdriver.support.ui import Select 

def select_use_for_matching_dropdown(self, value): 
    # Params value: The value for the Matching drop down Yes or No 
    try: 
     select = Select(WebDriverWait(self.driver, 20).until(EC.element_to_be_clickable((By.ID, 'data_configuration_edit_data_object_tab_details_lb_use_for_match')))) 
     select.select_by_visible_text(str("No")) 
    except NoSuchElementException, e: 
     print "Element not found " 
     print e 
     self.save_screenshot("select_use_for_matching_dropdown") 

HTMLは次のとおりです。

<select id="data_configuration_edit_data_object_tab_details_lb_use_for_match" class="gwt-ListBox marginright"> 
    <option value="yes">yes</option> 
    <option value="no">no</option> 
    <option value="exclude data categories">exclude data categories</option> 
</select> 

私は私も持っている値「いいえ」

を選択しようとすることができる他の方法があります試しました

select = Select(self.driver.find_element_by_id('data_configuration_edit_data_object_tab_details_lb_use_for_match')) 

select.select_by_visible_text('No') 

おかげで、リアズ

+0

もしそれがあなたに役立つかどうかを見てくださいhttp://stackoverflow.com/questions/36471904/how-to-select-a-drop-down-menu-option-value-using-selenium-pythonまた、javaと同等のものが必要ならサンプルコードを与えることができます –

+0

リンクをありがとう、それを試してみました。私の他のドロップダウン要素は機能します。これと奇妙な何か、それは値を選択しません。 –

+1

私はあなたが選択したい要素がDOM(ECの作業)にロードされていると思うが、その時点でオプションNoを選択するとNoがDOM内で固定されていないので、オプションはありません他のタスクをしてくださいそれはDOMの中でその位置を取得するオプションを許可しませんし、その後、それは魅力のように動作します –

答えて

1

をしようとする場合がありますので、Pythonのドライバで大文字の事項が、あなたの実際の値が「いいえ」小文字でない場合を確認します -

select.select_by_visible_text('no') 

OR

select.select_by_value('no') 

は、それはあなたを助けることを願っています:)

+0

はい、これは小文字でなければなりません。ありがとう –

1

ないあなたは以下のいずれか試してみてください

select.select_by_visible_text('no') 
+0

はい、これは小文字でなければなりません。ありがとう –

関連する問題