Python+Selenium WebDriver API:浏览器及元素的常用函数及变量整理总结
生活随笔
收集整理的這篇文章主要介紹了
Python+Selenium WebDriver API:浏览器及元素的常用函数及变量整理总结
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
? ? ? 由于網頁自動化要操作瀏覽器以及瀏覽器頁面元素,這里筆者就將瀏覽器及頁面元素常用的函數及變量整理總結一下,以供讀者在編寫網頁自動化測試時查閱。
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) 其中:紅色加粗為數據(變量)。黑色加粗為方法(函數),函數的調用需要加括號哦。? 什么是屬性?屬性就是屬于一個對象的數據或者函數的元素(內建函數dir可查看對象屬性),可以通過屬性據點標識符來訪問。 瀏覽器屬性: 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'] 調用說明: driver.屬性值 變量說明: 1.driver.current_url:用于獲得當前頁面的URL 2.driver.title:用于獲取當前頁面的標題 3.driver.page_source:用于獲取頁面html源代碼 4.driver.current_window_handle:用于獲取當前窗口句柄 5.driver.window_handles:用于獲取所有窗口句柄 函數說明: 1.driver.find_element*():定位元素,詳看另外一篇博文:Selenuim+Python之元素定位總結及實例說明 2.driver.get(url):瀏覽器加載url。 實例:driver.get("http//:www.baidu.com") 3.driver.forward():瀏覽器向前(點擊向前按鈕)。 4.driver.back():瀏覽器向后(點擊向后按鈕)。 5.driver.refresh():瀏覽器刷新(點擊刷新按鈕)。 6.driver.close():關閉當前窗口,或最后打開的窗口。 7.driver.quit():關閉所有關聯窗口,并且安全關閉session。 8.driver.maximize_window():最大化瀏覽器窗口。 9.driver.set_window_size(寬,高):設置瀏覽器窗口大小。 10.driver.get_window_size():獲取當前窗口的長和寬。 11.driver.get_window_position():獲取當前窗口坐標。 12.driver.get_screenshot_as_file(filename):截取當前窗口。 實例:driver.get_screenshot_as_file('D:/selenium/image/baidu.jpg') 13.driver.implicitly_wait(秒):隱式等待,通過一定的時長等待頁面上某一元素加載完成。 若提前定位到元素,則繼續執行。若超過時間未加載出,則拋出NoSuchElementException異常。 實例:driver.implicitly_wait(10) #等待10秒 14.driver.switch_to_frame(id或name屬性值):切換到新表單(同一窗口)。若無id或屬性值,可先通過xpath定位到iframe,再將值傳給switch_to_frame() 15.driver.switch_to.parent_content():跳出當前一級表單。該方法默認對應于離它最近的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):調用js。 22.driver.get_cookies():獲取當前會話所有cookie信息。 23.driver.get_cookie(cookie_name):返回字典的key為“cookie_name”的cookie信息。 實例: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',?'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',?'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'] 調用說明: driver.find_element*.屬性值 或 element=driver.find_element* element.屬性值 變量說明: 1.element.size:獲取元素的尺寸。 2.element.text:獲取元素的文本。 3.element.tag_name:獲取標簽名稱。 函數說明: 1.element.clear():清除文本。 2.element.send_keys(value):輸入文字或鍵盤按鍵(需導入Keys模塊)。 3.element.click():單擊元素。 4.element.get_attribute(name):獲得屬性值 5.element.is_displayed():返回元素結果是否可見(True 或 False) 6.element.is_selected():返回元素結果是否被選中(True 或 False) 7.element.find_element*():定位元素,用于二次定位。我的另一篇博文有提到:Python+Selenium定位不到元素常見原因及解決辦法(報:NoSuchElementException)轉載于:https://www.cnblogs.com/yufeihlf/p/5764807.html
總結
以上是生活随笔為你收集整理的Python+Selenium WebDriver API:浏览器及元素的常用函数及变量整理总结的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: CSS画一个心
- 下一篇: Python 深拷贝和浅拷贝