天天看點

WebDriver--簡單元素操作

  • clear():清除文本,可用來鍵盤輸入前清除一些input輸入框預設的值
  • send_key(*value):模拟按鍵輸入
  • click():單擊,不止按鈕,也可以是文字/圖檔連結、複選框、單選框、下拉框等
  • 1 driver.find_element_by_id("loginName").clear()
    2 driver.find_element_by_id("loginName").send_keys('tzhang')
    3 driver.find_element_by_id("pwdTip").send_keys(Keys.TAB)
    4 driver.find_element_by_id("pwdTip").send_keys('111111') driver.find_element_by_css_selector("[type=submit]").click()      

其他一些有用的方法:

  • submit():用于送出表單,和click操作類似,但是還未嘗試過,應用不如click廣
  • size:傳回元素的尺寸
  • text:擷取元素的文本,标簽對之間的文本資訊;這個在寫代碼的過程中用過,當時好像是查資料時見到過,然後憑感覺嘗試的,成功了,原來是有這麼個方法的;
    1 driver.find_element_by_xpath("html/body/form/div/div/div[1]/div[1]/div/h2").text#跳轉到第二步後的課程名稱
    2 driver.find_element_by_class_name("m-sugbox").text#學習建議輸入框的标題      
  • get_attribute(name):獲得屬性值;沒用過這個,用過type(),括号裡是想知道的元素屬性
  • is_displayed():檢視該元素是否使用者可見

鍵盤事件:

send_keys()方法也可以輸入鍵盤上的按鍵,Keys類提供了鍵盤上幾乎所有按鍵的方法

from selenium.webdriver.common.keys import Keys  #使用鍵盤按鍵方法前需要先導入keys類


send_keys(Keys.TAB)#登入或送出表單頁切換各個元素時常用
send_keys(Keys.ENTER)#登入或查詢時常用
send_keys(Keys.SPACE)
send_keys(Keys.ESCAPE)
send_keys(Keys.BACK_SPACE)

send_keys(Keys.CONTROL,'a')
send_keys(Keys.CONTROL,'c')
send_keys(Keys.CONTROL,'x')
send_keys(Keys.CONTROL,'v')
send_keys(Keys.F1)      

繼續閱讀