·?text??獲取該元素的文本
·?submit??提交表單
· get_attribute??獲得屬性值
text??
用于獲取元素的文本信息
下面把百度首頁底部的聲明打印輸出
#coding=utf-8 from selenium import webdriverimport timedriver = webdriver.Firefox() driver.get("http://www.baidu.com") time.sleep(2)#id = cp 元素的文本信息 data=driver.find_element_by_id("cp").text print data #打印信息time.sleep(3) driver.quit()
輸出:
>>> ?2013 Baidu 使用百度前必讀 京ICP證030173號
?
?
submit
提交表單
我們把“百度一下”的操作從click?換成submit?:
#coding=utf-8 from selenium import webdriverimport timedriver = webdriver.Firefox() driver.get("http://www.baidu.com")driver.find_element_by_id("kw").send_keys("selenium") time.sleep(2) #通過submit() 來操作 driver.find_element_by_id("su").submit() time.sleep(3) driver.quit()
這里用submit?與click的效果一樣,我暫時還沒想到只能用submit?不能用click的場景。他們之間到底有啥區別,知道的同學請留言告訴我。
?
get_attribute
獲得屬性值。
這個函數的用法前面已經有出現過,在定位一組元素的時候有使用到它,只是我們沒有做過多的解釋。
一般用法:
select = driver.find_element_by_tag_name("select")allOptions = select.find_elements_by_tag_name("option")for option in allOptions:print "Value is: " + option.get_attribute("value")option.click()
具體應用參考:
定位一組元素:http://www.cnblogs.com/fnng/p/3190966.html
?
小結:
學到這里我們是不是已經撐握了不少知識,簡單的操作瀏覽器,定位元素,操作元素以及打印一些信息。python urllib、其實,我們前面的學習中大多使用的是WebElement?里的方法。
?
WebElement的方法:
?
一般來說,所有有趣的操作與頁面進行交互的有趣的操作,都通過?WebElement?完成
classselenium.webdriver.remote.webelement.WebElement(parent,?id_)
這個類代表HTML頁面元素
?
id_#當前元素的IDtag_name#獲取元素標簽名的屬性text#獲取該元素的文本。click()#單擊(點擊)元素submit()#提交表單clear()#清除一個文本輸入元素的文本get_attribute(name)#獲得屬性值s_selected(self)#元素是否被選擇Whether the element is selected.is_enabled()#元素是否被啟用find_element_by_id(id_)find_elements_by_id(id_)#查找元素的id find_element_by_name(name)find_elements_by_name(name)#查找元素的namefind_element_by_link_text(link_text)find_elements_by_link_text(link_text)#查找元素的鏈接文本find_element_by_partial_link_text(link_text)find_elements_by_partial_link_text(link_text)#查找元素的鏈接的部分文本find_element_by_tag_name(name)find_elements_by_tag_name(name)#查找元素的標簽名find_element_by_xpath(xpath)#查找元素的xpathfind_elements_by_xpath(xpath)#查找元素內的子元素的xpathfind_element_by_class_name(name)#查找一個元素的類名find_elements_by_class_name(name)#查找元素的類名find_element_by_css_selector(css_selector)#查找并返回一個元素的CSS 選擇器find_elements_by_css_selector(css_selector)#查找并返回多個元素的CSS 選擇器列表send_keys(*value)#模擬輸入元素