selenium2 python3登入163郵箱

2022-06-27 21:15:11 字數 1797 閱讀 1355

首先檢視頁面的整個登入流程:

開啟mail.163.com→點選郵箱賬號登入→賬號輸入框→密碼輸入框→登入

一、單一流程實現:開啟網頁,找到郵箱賬號登入,輸入賬號密碼,登入

# 匯入webdriver驅動
from selenium import

webdriver

from time import ctime

# 新建火狐瀏覽器驅動
dr =webdriver.firefox()

dr.get('')

# 點選郵箱賬號登入,使用xpath定位
dr.find_element_by_xpath('

//*[@id="lbnormal"]

').click()

print(ctime(), '

已點選郵箱賬號登入

')

# 接下來實現賬號密碼登入,同樣需要定位,但是發現每次賬號密碼都找不到can't find element從網上查詢資料才知道這塊是作了表單設計,需要切換到frame定位。

# 同樣直接在瀏覽器檢視元素也能發現賬號密碼輸入框其實在frame內

# 那就先定位frame,然後檢視frame的屬性發現它的id是個小數,所以應該是作了隨機值可變的,不好定位。但是可以發現frame的父元素div的屬性是固定的,通過div找frame

dl_frame = dr.find_element_by_xpath('

//*[@id="logindiv"]/iframe')

#切換到frame

dr.switch_to.frame(dl_frame)

#下面開始輸入賬號和密碼

dr.find_element_by_name('

email

').clear()

dr.find_element_by_name(

'email

').send_keys('**zhanghao**')

dr.find_element_by_name(

'password

').clear()

dr.find_element_by_name(

'password

').send_keys('***mima***')

# 然後點選登入(登入按鈕也是在這個frame下)

# 登陸後切換表單到主頁面

dr.switch_to.default_content()
# 登陸後列印頁面title

執行報錯:

才發現div下面的frame是iframe,更改後執行:

到目前,單線登入完成。

Selenium2 Python 常用方法

一 全域性操作類 start session 使用指定的desired capabilities建立乙個會話 session start client 新建乙個webdriver會話session前呼叫,可以自定義初始化的動作 stop client 停止webdriver會話session後呼叫,...

Python2 Selenium入門03 元素定位

當我們想讓 selenium 自動地操作瀏覽器時,就必須告訴 selenium 如何去定位某個元素或一組元素,每個元素都有著不同的標籤名和屬性值,selenium 提供了以下8種定位元素的方式,每種方式對應了2個方法 find element by 是用來定位單個元素的,find elements ...

Python2 Selenium入門03 元素定位

當我們想讓 selenium 自動地操作瀏覽器時,就必須告訴 selenium 如何去定位某個元素或一組元素,每個元素都有著不同的標籤名和屬性值,selenium 提供了以下8種定位元素的方式,每種方式對應了2個方法 find element by 是用來定位單個元素的,find elements ...