WebDriver API文檔
定位元素
-
find_element_by_id:通過id屬性定位
-
find_element_by_name:通過name屬性定位
-
find_element_by_class_name:通過class屬性定位
-
find_element_by_tag_name:通過tagname(div,input)定位元素
-
find_element_by_link_text:通過帶link屬性元素標籤對之間的文本信息來定位元素
-
find_element_by_partical_link_text:通過帶link屬性元素標籤對之間的部分文本信息來定位元素
-
find_element_by_xpath(’/html/body/div):頁面元素路徑的絕對定位來定位元素
-
find_element_by_xpath("//input[@id=‘su’]"):使用元素的屬性值來定位
-
find_element_by_css_selector():通過css屬性定位,可以設置.class,#id,target,span>input
-
find_element(key,value):針對前面介紹的8種定位方法,WebDriver還提供了另外一套寫法,即統一調用find_element()方法,通過By來聲明定位方法
key:By.ID,By.NAME,By.CLASS_NAME,By.TAG_NAME,By.LINK_TEXT,By.PARTICAL_LINK_TEXT,By.XPATH,By.CSS_SELECTOR
控制瀏覽器
- set_window_size(480,800):設置瀏覽器大小
- maximize_window():打開瀏覽器全屏顯示
- back():前進
- forward():後退
- refresh():模擬瀏覽器刷新
簡單元素操作
- clear():清除文本
- send_keys(*value):模擬按鍵輸入
- click():單擊元素
- submit():表單提交
- size():獲取元素的寬高
- text():獲取元素的文本值
- get_attribute():獲得屬性值
- is_displayed():設置該元素是否用戶可見
鼠標事件
例如鼠標右擊,雙擊,懸停,甚至是鼠標拖動等功能,在WebDriver中,將這些有關鼠標操作的方法封裝在ActionChains類提供
- perform():執行所有ActionChins中存儲的行爲
- context_click():右擊
- double_click():雙擊
- drag_and_drop():拖動
- move_to_element():鼠標懸停
- drag_and_drop(element.target):在源元素上按住鼠標左鍵,然後移動到目標元素釋放
- WebDriverWait(driver,timeout,poll_frequency=0.5,ignored_exceptions=None)
- timeout:最長超時時間
- poll_frequency:檢測的間隔(步長)時間,默認是0.5s
- ignored_exceptions:超時後的異常信息默認情況下拋NoSuchElementException異常
- WebDriverWait()一般由until()或者until_not()方法配合使用
- expected_conditions:提供預期條件判斷方法(is_displayed())