1. 程式人生 > >python3使用selenium2對巢狀iframe的126網易進行登入

python3使用selenium2對巢狀iframe的126網易進行登入

學習selenium2時候發現找不到這類文章,找到的質量感覺挺一般的,大多是find_element_by_xpath方式,感覺有點太扯蛋了,所以就寫了這博文,希望對新手幫助,歡迎留言討教!

import sys
import time
from selenium import webdriver
# from selenium.webdriver.common.keys import Keys

# 本人用的是谷歌瀏覽器
driver = webdriver.Chrome() 

driver.get("https://www.126.com")
# 這裡必須要有這個延時,要不取不到iframe的id
time.sleep(3)
iframe_id = driver.find_element_by_tag_name('iframe').get_attribute('id')
# 列印只是為了確認取對了沒哈
print(iframe_id)
# 切換到iframe,下面就可以直接呼叫了
driver.switch_to_frame(iframe_id)
driver.find_element_by_name('email').clear()
driver.find_element_by_name('email').send_keys('you account')
driver.find_element_by_name('password').clear()
driver.find_element_by_name('password').send_keys('you password')
driver.find_element_by_id('dologin').click()
# 這個延時也是必須的,要不第一次點選登入還沒反應過來(元素還沒渲染),所以得延時等它出來再操作
time.sleep(2)
driver.find_element_by_link_text('登入').click()
# 這裡不用說了吧
# driver.quit()