Python+Selenium WebDriver API:瀏覽器及元素的常用函數(shù)及變量整理總結(jié)(轉(zhuǎn)載)1

由于網(wǎng)頁自動(dòng)化要操作瀏覽器以及瀏覽器頁面元素掖蛤,這里筆者就將瀏覽器及頁面元素常用的函數(shù)及變量整理總結(jié)一下逸尖,以供讀者在編寫網(wǎng)頁自動(dòng)化測試時(shí)查閱闺骚。

from selenium import webdriver
driver=webdriver.Firefox()
driver.get(r'http://www.baidu.com/')
print 'driver attributes:'
print dir(driver)
elem=driver.find_element_by_id('kw')
print 'WebElement attributes:'
print dir(elem)

其中:斜體加粗為數(shù)據(jù)(變量)梳猪。黑色加粗為方法(函數(shù))麻削,函數(shù)的調(diào)用需要加括號(hào)哦。
什么是屬性春弥?屬性就是屬于一個(gè)對象的數(shù)據(jù)或者函數(shù)的元素(內(nèi)建函數(shù)dir可查看對象屬性)呛哟,可以通過屬性據(jù)點(diǎn)標(biāo)識(shí)符來訪問。
瀏覽器屬性:
driver attributes:
['NATIVE_EVENTS_ALLOWED', 'class', 'delattr', 'dict', 'doc', 'format', 'getattribute', 'hash', 'init', 'module', 'new', 'reduce', 'reduce_ex', 'repr', 'setattr', 'sizeof', 'str', 'subclasshook', 'weakref', '_file_detector', '_is_remote', '_mobile', '_switch_to', '_unwrap_value', '_wrap_value', 'add_cookie', 'application_cache', 'back', 'binary', 'capabilities', 'close', 'command_executor', 'create_web_element', 'current_url', 'current_window_handle', 'delete_all_cookies', 'delete_cookie', 'desired_capabilities', 'error_handler', 'execute', 'execute_async_script', 'execute_script', 'file_detector','find_element', 'find_element_by_class_name', 'find_element_by_css_selector', 'find_element_by_id', 'find_element_by_link_text', 'find_element_by_name', 'find_element_by_partial_link_text', 'find_element_by_tag_name', 'find_element_by_xpath', 'find_elements', 'find_elements_by_class_name', 'find_elements_by_css_selector', 'find_elements_by_id', 'find_elements_by_link_text', 'find_elements_by_name', 'find_elements_by_partial_link_text', 'find_elements_by_tag_name', 'find_elements_by_xpath', 'firefox_profile', 'forward', 'get', 'get_cookie', 'get_cookies', 'get_log', 'get_screenshot_as_base64', 'get_screenshot_as_file', 'get_screenshot_as_png', 'get_window_position', 'get_window_size', 'implicitly_wait', 'log_types', 'maximize_window', 'mobile', 'name', 'orientation', 'page_source', 'profile', 'quit', 'refresh', 'save_screenshot', 'session_id', 'set_page_load_timeout', 'set_script_timeout', 'set_window_position', 'set_window_size', 'start_client', 'start_session', 'stop_client', 'switch_to', 'switch_to_active_element', 'switch_to_alert', 'switch_to_default_content', 'switch_to_frame', 'switch_to_window', 'title', 'w3c', 'window_handles**']
調(diào)用說明:
driver.屬性值
變量說明:
1.driver.current_url:用于獲得當(dāng)前頁面的URL
2.driver.title:用于獲取當(dāng)前頁面的標(biāo)題
3.driver.page_source:用于獲取頁面html源代碼
4.driver.current_window_handle:用于獲取當(dāng)前窗口句柄
5.driver.window_handles:用于獲取所有窗口句柄
函數(shù)說明:

1.driver.find_element*():定位元素匿沛,詳看另外一篇博文:[Selenuim+Python之元素定位總結(jié)及實(shí)例說明](http://www.cnblogs.com/yufeihlf/p/5717291.html)
2.driver.get(url):瀏覽器加載url竖共。
實(shí)例:driver.get("http//:www.baidu.com")
3.driver.forward():瀏覽器向前(點(diǎn)擊向前按鈕)。
4.driver.back():瀏覽器向后(點(diǎn)擊向后按鈕)俺祠。
5.driver.refresh():瀏覽器刷新(點(diǎn)擊刷新按鈕)公给。
6.driver.close():關(guān)閉當(dāng)前窗口,或最后打開的窗口蜘渣。
7.driver.quit():關(guān)閉所有關(guān)聯(lián)窗口淌铐,并且安全關(guān)閉session。
8.driver.maximize_window():最大化瀏覽器窗口蔫缸。
9.driver.set_window_size(寬腿准,高):設(shè)置瀏覽器窗口大小。
10.driver.get_window_size():獲取當(dāng)前窗口的長和寬拾碌。
11.driver.get_window_position():獲取當(dāng)前窗口坐標(biāo)吐葱。
12.driver.get_screenshot_as_file(filename):截取當(dāng)前窗口。
實(shí)例:driver.get_screenshot_as_file('D:/selenium/image/baidu.jpg')
13.driver.implicitly_wait(秒):隱式等待校翔,通過一定的時(shí)長等待頁面上某一元素加載完成弟跑。
若提前定位到元素,則繼續(xù)執(zhí)行防症。若超過時(shí)間未加載出孟辑,則拋出NoSuchElementException異常。
實(shí)例:driver.implicitly_wait(10) #等待10秒
14.driver.switch_to_frame(id或name屬性值):切換到新表單(同一窗口)蔫敲。若無id或?qū)傩灾邓撬裕上韧ㄟ^xpath定位到iframe,再將值傳給switch_to_frame()
15.driver.switch_to.parent_content():跳出當(dāng)前一級(jí)表單奈嘿。該方法默認(rèn)對應(yīng)于離它最近的switch_to.frame()方法貌虾。
16.driver.switch_to.default_content():跳回最外層的頁面。
17.driver.switch_to_window(窗口句柄):切換到新窗口裙犹。
18.driver.switch_to.window(窗口句柄):切換到新窗口尽狠。
19.driver.switch_to_alert():警告框處理榴鼎。處理JavaScript所生成的alert,confirm,prompt.
20.driver.switch_to.alert():警告框處理。
21.driver.execute_script(js):調(diào)用js晚唇。
22.driver.get_cookies():獲取當(dāng)前會(huì)話所有cookie信息。
23.driver.get_cookie(cookie_name):返回字典的key為“cookie_name”的cookie信息盗似。
實(shí)例:driver.get_cookie("NET_SessionId")
24.driver.add_cookie(cookie_dict):添加cookie哩陕。“cookie_dict”指字典對象赫舒,必須有name和value值悍及。
25.driver.delete_cookie(name,optionsString):刪除cookie信息。
26.driver.delete_all_cookies():刪除所有cookie信息接癌。

頁面元素屬性:
WebElement attributes:
['class', 'delattr', 'dict', 'doc', 'eq', 'format', 'getattribute', 'hash', 'init', 'module', 'ne', 'new', 'reduce', 'reduce_ex', 'repr', 'setattr', 'sizeof', 'str', 'subclasshook', 'weakref', '_execute', '_id', '_parent', '_upload', '_w3c', 'clear', 'click',
'find_element', 'find_element_by_class_name', 'find_element_by_css_selector', 'find_element_by_id', 'find_element_by_link_text', 'find_element_by_name', 'find_element_by_partial_link_text', 'find_element_by_tag_name', 'find_element_by_xpath', 'get_attribute', 'id', 'is_displayed', 'is_enabled', 'is_selected', 'location', 'location_once_scrolled_into_view', 'parent', 'rect', 'screenshot', 'screenshot_as_base64', 'screenshot_as_png', 'send_keys', 'size', 'submit', 'tag_name', 'text', 'value_of_css_property']

調(diào)用說明:
driver.find_element*.屬性值
或
element=driver.find_element*
element.屬性值
變量說明:
1.element.size:獲取元素的尺寸心赶。
2.element.text:獲取元素的文本。
3.element.tag_name:獲取標(biāo)簽名稱缺猛。
函數(shù)說明:
1.element.clear():清除文本缨叫。
2.element.send_keys(value):輸入文字或鍵盤按鍵(需導(dǎo)入Keys模塊)。
3.element.click():單擊元素荔燎。
4.element.get_attribute(name):獲得屬性值
5.element.is_displayed():返回元素結(jié)果是否可見(True 或 False)
6.element.is_selected():返回元素結(jié)果是否被選中(True 或 False)
7.element.find_element*():定位元素耻姥,用于二次定位。我的另一篇博文有提到:[Python+Selenium定位不到元素常見原因及解決辦法(報(bào):NoSuchElementException)](http://www.cnblogs.com/yufeihlf/p/5689042.html)
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末有咨,一起剝皮案震驚了整個(gè)濱河市琐簇,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌座享,老刑警劉巖婉商,帶你破解...
    沈念sama閱讀 221,430評論 6 515
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場離奇詭異渣叛,居然都是意外死亡丈秩,警方通過查閱死者的電腦和手機(jī),發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 94,406評論 3 398
  • 文/潘曉璐 我一進(jìn)店門淳衙,熙熙樓的掌柜王于貴愁眉苦臉地迎上來癣籽,“玉大人,你說我怎么就攤上這事滤祖】昀牵” “怎么了?”我有些...
    開封第一講書人閱讀 167,834評論 0 360
  • 文/不壞的土叔 我叫張陵匠童,是天一觀的道長埂材。 經(jīng)常有香客問我,道長汤求,這世上最難降的妖魔是什么俏险? 我笑而不...
    開封第一講書人閱讀 59,543評論 1 296
  • 正文 為了忘掉前任严拒,我火速辦了婚禮,結(jié)果婚禮上竖独,老公的妹妹穿的比我還像新娘裤唠。我一直安慰自己,他們只是感情好莹痢,可當(dāng)我...
    茶點(diǎn)故事閱讀 68,547評論 6 397
  • 文/花漫 我一把揭開白布种蘸。 她就那樣靜靜地躺著,像睡著了一般竞膳。 火紅的嫁衣襯著肌膚如雪航瞭。 梳的紋絲不亂的頭發(fā)上,一...
    開封第一講書人閱讀 52,196評論 1 308
  • 那天坦辟,我揣著相機(jī)與錄音刊侯,去河邊找鬼。 笑死锉走,一個(gè)胖子當(dāng)著我的面吹牛滨彻,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播挪蹭,決...
    沈念sama閱讀 40,776評論 3 421
  • 文/蒼蘭香墨 我猛地睜開眼疮绷,長吁一口氣:“原來是場噩夢啊……” “哼!你這毒婦竟也來了嚣潜?” 一聲冷哼從身側(cè)響起冬骚,我...
    開封第一講書人閱讀 39,671評論 0 276
  • 序言:老撾萬榮一對情侶失蹤,失蹤者是張志新(化名)和其女友劉穎懂算,沒想到半個(gè)月后只冻,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 46,221評論 1 320
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡计技,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 38,303評論 3 340
  • 正文 我和宋清朗相戀三年喜德,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片垮媒。...
    茶點(diǎn)故事閱讀 40,444評論 1 352
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡舍悯,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出睡雇,到底是詐尸還是另有隱情萌衬,我是刑警寧澤,帶...
    沈念sama閱讀 36,134評論 5 350
  • 正文 年R本政府宣布它抱,位于F島的核電站秕豫,受9級(jí)特大地震影響,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜混移,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,810評論 3 333
  • 文/蒙蒙 一祠墅、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧歌径,春花似錦毁嗦、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 32,285評論 0 24
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至勺届,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間娶耍,已是汗流浹背免姿。 一陣腳步聲響...
    開封第一講書人閱讀 33,399評論 1 272
  • 我被黑心中介騙來泰國打工, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留榕酒,地道東北人胚膊。 一個(gè)月前我還...
    沈念sama閱讀 48,837評論 3 376
  • 正文 我出身青樓,卻偏偏與公主長得像想鹰,于是被迫代替她去往敵國和親紊婉。 傳聞我的和親對象是個(gè)殘疾皇子,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 45,455評論 2 359

推薦閱讀更多精彩內(nèi)容