python+webdriver,選取Select下拉框中的值


在選擇下拉框中的值時遇到了困難,用driver.find_element_by_id("").send_keys("")進行賦值不能成功獲取下拉框中的值。
 
此次是補充以前的文檔,以前是用xpath去獲得select中的option,但是用xpath如果改變了順序會很麻煩,也可以用Select去獲得option,而且比較簡單。
 
一、使用Select(這里用的是python,如果用Java的話也可以去搜一下,網上方法很多)
比如要選中下面select中的第2個option
element = self.driver.find_element_by_id("Operator0")
sel = Select(element)
sel.select_by_value("!=")
這樣就可以獲得這個option了,當然這幾行代碼可以合為一行
Select(self.driver.find_element_by_id("Operator0")).select_by_value("!=")
 
 
二、使用Xpath:  
下面是W3C網站上關於xpath的一些知識,有興趣的可以自己去查找來看一下。

路徑表達式結果

/bookstore/book[1] 選取屬於 bookstore 子元素的第一個 book 元素。
/bookstore/book[last()] 選取屬於 bookstore 子元素的最后一個 book 元素。
/bookstore/book[last()-1] 選取屬於 bookstore 子元素的倒數第二個 book 元素。
/bookstore/book[position()<3] 選取最前面的兩個屬於 bookstore 元素的子元素的 book 元素。
//title[@lang] 選取所有擁有名為 lang 的屬性的 title 元素。
//title[@lang='eng'] 選取所有 title 元素,且這些元素擁有值為 eng 的 lang 屬性。
/bookstore/book[price>35.00] 選取 bookstore 元素的所有 book 元素,且其中的 price 元素的值須大於 35.00。
/bookstore/book[price>35.00]/title 選取 bookstore 元素中的 book 元素的所有 title 元素,且其中的 price 元素的值須大於 35.00。

    

下面是我這次編寫過程中與到的問題實例。
一、具體的頁面代碼如下:
 

二、編寫的腳本
driver.find_element_by_xpath("//select[@id='CerType']/option[#value=2]").click()
通過上面的代碼成功獲得了“護照”。
 
PS:推薦一個小插件,XPath Checker,Firefox的附件組件,可以直接右鍵查看元素的XPath。
 
 
 
 
 
                                                  發布日期:2014-03-07 10:54


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM