2014-04-11 62 views
1

Morning all。我目前正在努力嘗試從基於字典值的下拉菜單中選擇一個國家/地區。我試圖使用sendkeys(),並在發送「美國」不斷返回「United Arab Emerates」時很快遇到錯誤。後來我發現.select_by_values」,但似乎並沒有工作,我有以下進口:Selenium,Python - 從基於變量的下拉列表中選擇一個值

from selenium import webdriver 
    from selenium.webdriver.common.by import By 
    from selenium.webdriver.common.keys import Keys 
    from selenium.webdriver.support.ui import Select 
    from selenium.webdriver.support.select import Select 
    from selenium.common.exceptions import NoSuchElementException 
    from selenium.webdriver.support.ui import WebDriverWait 
    import selenium.webdriver.support.ui as UI 
    import unittest, time, re, datetime 

而下面是我的選擇:

d.find_element_by_css_selector('select#residenceQuestion').select_by_value(quote_data["citizenship"]) 

然而當跑,我m遇到屬性錯誤「'WebElement'對象沒有屬性'select_by_value'」,這很可能是因爲我要麼不正確地定位下拉菜單(因爲它實際上是作爲WebElement返回的),要麼是使用select_by錯誤。任何幫助的讚賞。謝謝!

回答

2

您正在嘗試使用Select功能。我認爲這將適用於你:

from selenium.webdriver.support.ui import Select 

Select(d.find_element_by_css_selector('select#residenceQuestion')).select_by_value(quote_data["citizenship"]) 
+0

@TRO你是對的,需要輸入。看我的編輯。另外,似乎我的語法有點不對。 – Richard

+0

從頭開始!我有導入權,這是在選擇聲明順序 - 得到它:)。現在選擇正在工作,現在只是實際選擇權。應該是: 'Select(d.find_element_by_css_selector('select#residenceQuestion'))。select_by_value(quote_data [「citizenship」])' Thanks mate! – TRoch

相關問題