1. 程式人生 > >Python入門:selenium之登入(二)

Python入門:selenium之登入(二)

from selenium import webdriver

driver = webdriver.Firefox()
url = 'http://www.caifupad.com/'
driver.get(url)

tt = driver.find_element_by_id('unlogin1').get_attribute('name')
pp = driver.find_element_by_xpath(".//*[@id='pwlogin_txt']").get_attribute('name')
driver.find_element_by_link_text('登入').click()
print
(tt) print(pp) print('########################') #driver.find_element_by_id("unlogin").clear() driver.find_element_by_xpath(".//*[@id='unlogin1']").send_keys('xxxx') #driver.find_element_by_xpath(".//*[@id='pwlogin']").clear() driver.find_element_by_xpath(".//*[@id='pwlogin_txt']").send_keys('XXXXXX') driver.find_element_by_xpath(".//*[
@id='submit-login']"
).click()

首先

要說一下為什麼要這麼晚寫這篇blog,唉,初學者往往就是這樣子,明明看懂了,但在練習的時候會對其應用場景中各種問題所難倒,如果不解決,這將影響學習的心情,打擊自信心,以及對所學知識的懷疑態度

重點

當學習完selecnium的各種定位方法之後,試了書上的例子沒問題,可是想對本公司的網站進行測試時,其目標網站就與書中的練習網站不一樣,所以使用了各種辦法就是不能正確定位到目標元素,無法定位就不能對其進行操作,所以一個大寫的‘囧’!!!

其實

書中的知識點是沒有問題的,只是對各種知識點在實際環境中的應用場景不是很瞭解,或者其它因素導致不能正確定位,下來就說說本目標定位中遇到的問題,該目標網站是一個很典型的遮罩型登入頁面,並且其使用者名稱密碼使用了兩個input標籤
這裡寫圖片描述

問題一:

在定位的時候首先要判斷哪個input標籤是真正的使用者名稱、密碼標籤

問題二:

然後對該標籤中的內容進行操作(書中說要對登入框中的預設字進行清除)
這裡寫圖片描述
這個時候就需要判斷了,是否需要使用clear方法,如果使用錯誤就會報錯,導致測試登入指令碼執行錯誤

補充:

所以說最重要的還是要學習判斷出錯原因