Selenium-Python 內(nèi)置iframe的切換

前言

這幾天在完成一個自己的項目纸泄,需要注冊很多個郵箱赖钞。找了無數(shù)的郵箱提供商,都需要進(jìn)行手機(jī)驗證聘裁。最后發(fā)現(xiàn)一個比較好用雪营,而且有多個(是真的有很多)域名可選的免費(fèi)郵箱服務(wù)。
https://www.mail.com/mail/create-email-account/
本以為可以實(shí)現(xiàn)批量注冊衡便,結(jié)果遇到了google人機(jī)驗證碼献起,無奈放棄洋访。不過對遇到的selenium知識點(diǎn)做一下記錄

準(zhǔn)備工作

通過觀察發(fā)現(xiàn),注冊頁面的url是包含一些參數(shù)的谴餐。

Screen Shot 2018-03-23 at 10.25.38 PM.png

那么最好不要直接點(diǎn)開賬戶注冊頁面姻政,通過網(wǎng)站首頁點(diǎn)擊sign up進(jìn)入注冊頁面,讓URL自動攜帶這些參數(shù)岂嗓。當(dāng)然selenium是要使用IP代理的汁展,前一篇文章有提到。
進(jìn)入注冊頁面后厌殉,通過抓取隨機(jī)身份平臺的 人物信息食绿,準(zhǔn)備好需要注冊的信息。https://www.fakepersongenerator.com/Index/generate

實(shí)現(xiàn)和過程中的問題問題

通過查看注冊頁面年枕,我們發(fā)現(xiàn)炫欺,最能攻克的是google人機(jī)檢測部分。


Screen Shot 2018-03-23 at 10.32.41 PM.png

可以猜測熏兄,這個驗證應(yīng)該是很難通過的品洛,但是還是好奇的查看了一下html源碼。


Screen Shot 2018-03-23 at 10.35.26 PM.png

發(fā)現(xiàn)人機(jī)驗證是 通過內(nèi)嵌的iframe展示的摩桶。

selenium可以在frame之間進(jìn)行切換

browser.switch_to_frame('iframename')

但是有個尷尬的地方桥状,這里iframe沒有name的屬性。
網(wǎng)上找了一下解決方法硝清,發(fā)現(xiàn)竟然要修改selenium的核心代碼辅斟,我的天,這個就操作不了了啊芦拿。

后面想了下士飒,我是否可以用xpath先對frame進(jìn)行定位,然后直接當(dāng)做參數(shù)傳遞呢蔗崎?代碼如下:

import time

from selenium import webdriver
from selenium.webdriver.common.action_chains import ActionChains

browser = webdriver.Chrome()
browser.get('https://www.mail.com/mail/create-email-account/')
time.sleep(2)

# click signup
signUpButtom = browser.find_element_by_class_name('button-signup')
ActionChains(browser).click(signUpButtom).perform()

# switch to check frame
time.sleep(3)
iframe = browser.find_element_by_xpath('//div[@id="g-recaptcha-panel"]//iframe')
browser.switch_to_frame(iframe)
checkButtom = browser.find_element_by_class_name('recaptcha-checkbox-checkmark')
ActionChains(browser).click(checkButtom).perform()
browser.switch_to_default_content()

目標(biāo)達(dá)成酵幕,實(shí)現(xiàn)了自動點(diǎn)擊驗證選框。
但是缓苛,新的問題又出現(xiàn)了:


Screen Shot 2018-03-23 at 10.45.15 PM.png

看來自己是想得太簡單了芳撒,如果想實(shí)現(xiàn)這個驗證,多半需要AI技術(shù)的支持了吧未桥。
在此立個flag后面有機(jī)會再學(xué)習(xí)笔刹。

總結(jié)

雖然沒有實(shí)現(xiàn)自己想要的效果,但是解決了一個小的技術(shù)問題冬耿。
對于內(nèi)嵌iframe沒有name\id屬性時舌菜,可以通過xpath進(jìn)行定位。

有朋友知道如何獲取批量郵箱淆党,如能告知酷师,感激不盡------

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末讶凉,一起剝皮案震驚了整個濱河市,隨后出現(xiàn)的幾起案子山孔,更是在濱河造成了極大的恐慌懂讯,老刑警劉巖,帶你破解...
    沈念sama閱讀 211,561評論 6 492
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件台颠,死亡現(xiàn)場離奇詭異褐望,居然都是意外死亡,警方通過查閱死者的電腦和手機(jī)串前,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 90,218評論 3 385
  • 文/潘曉璐 我一進(jìn)店門瘫里,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人荡碾,你說我怎么就攤上這事谨读。” “怎么了坛吁?”我有些...
    開封第一講書人閱讀 157,162評論 0 348
  • 文/不壞的土叔 我叫張陵劳殖,是天一觀的道長。 經(jīng)常有香客問我拨脉,道長哆姻,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 56,470評論 1 283
  • 正文 為了忘掉前任玫膀,我火速辦了婚禮矛缨,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘帖旨。我一直安慰自己箕昭,他們只是感情好,可當(dāng)我...
    茶點(diǎn)故事閱讀 65,550評論 6 385
  • 文/花漫 我一把揭開白布解阅。 她就那樣靜靜地躺著盟广,像睡著了一般。 火紅的嫁衣襯著肌膚如雪瓮钥。 梳的紋絲不亂的頭發(fā)上,一...
    開封第一講書人閱讀 49,806評論 1 290
  • 那天烹吵,我揣著相機(jī)與錄音碉熄,去河邊找鬼。 笑死肋拔,一個胖子當(dāng)著我的面吹牛锈津,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播凉蜂,決...
    沈念sama閱讀 38,951評論 3 407
  • 文/蒼蘭香墨 我猛地睜開眼琼梆,長吁一口氣:“原來是場噩夢啊……” “哼性誉!你這毒婦竟也來了?” 一聲冷哼從身側(cè)響起茎杂,我...
    開封第一講書人閱讀 37,712評論 0 266
  • 序言:老撾萬榮一對情侶失蹤错览,失蹤者是張志新(化名)和其女友劉穎,沒想到半個月后煌往,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體倾哺,經(jīng)...
    沈念sama閱讀 44,166評論 1 303
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 36,510評論 2 327
  • 正文 我和宋清朗相戀三年刽脖,在試婚紗的時候發(fā)現(xiàn)自己被綠了羞海。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點(diǎn)故事閱讀 38,643評論 1 340
  • 序言:一個原本活蹦亂跳的男人離奇死亡曲管,死狀恐怖却邓,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情院水,我是刑警寧澤腊徙,帶...
    沈念sama閱讀 34,306評論 4 330
  • 正文 年R本政府宣布,位于F島的核電站衙耕,受9級特大地震影響昧穿,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜橙喘,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 39,930評論 3 313
  • 文/蒙蒙 一时鸵、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧厅瞎,春花似錦饰潜、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,745評論 0 21
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至锁保,卻和暖如春薯酝,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背爽柒。 一陣腳步聲響...
    開封第一講書人閱讀 31,983評論 1 266
  • 我被黑心中介騙來泰國打工吴菠, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留,地道東北人浩村。 一個月前我還...
    沈念sama閱讀 46,351評論 2 360
  • 正文 我出身青樓做葵,卻偏偏與公主長得像,于是被迫代替她去往敵國和親心墅。 傳聞我的和親對象是個殘疾皇子酿矢,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 43,509評論 2 348

推薦閱讀更多精彩內(nèi)容