我希望將我的登錄過程自動(dòng)化到一個(gè)網(wǎng)站,該網(wǎng)站每次嘗試登錄時(shí)都會(huì)通過電子郵件發(fā)送驗(yàn)證碼。為此,我使用 Python 和 Selenium。登錄該網(wǎng)站并單擊我的 gmail 中包含驗(yàn)證碼的電子郵件很好,但是一旦我進(jìn)入電子郵件,我就很難獲得識(shí)別碼。我嘗試使用 xpath,但問題是 xpath 總是與驗(yàn)證碼不同。例如,這是我通過電子郵件收到的驗(yàn)證碼之一的 xpath://[@id=":qs"]/div[2]/table/tbody/tr[3]/td/table/tbody/tr/td[2]/table/tbody/tr[4]/td/div另一個(gè)來自第二個(gè)驗(yàn)證碼://[@id=":3zm"]/div[2]/table/tbody/tr[3]/td/table/tbody/tr/td[2]/table/tbody/tr[4]/td/div正如您所看到的,一個(gè)代碼與另一個(gè)代碼的 id 不同,這實(shí)際上是唯一的區(qū)別。所以我想知道是否可以使用 HTML 中的另一個(gè)元素獲取驗(yàn)證碼。這是 HTML 代碼:<table cellpadding="0" cellspacing="0" border="0" style="border-collapse:collapse" class="m_3010061996208616876email-body"> <tbody><tr> <td height="50" class="m_3010061996208616876resize, m_3010061996208616876tdDefault"></td> </tr> <tr> <td class="m_3010061996208616876subHeader"> Hello, </td> </tr> <tr> <td height="21" class="m_3010061996208616876tdDefault"></td> </tr> <tr> <td class="m_3010061996208616876emailText"><span class="im"> Your verification code is displayed below. Please use it in the next 15 minutes – after that time it'll expire. <br><br> </span><div style="text-align:center;font-size:42px;font-family:PublicoMedium,serif;color:#3e4e61;margin:0 auto;padding:0;line-height:42px"> 941976 </div><span class="im">在這個(gè)中,我要檢索的驗(yàn)證碼是 941976。我試過了:browser.find_element_by_xpath("//p[contains(., 'text-align:center;font-size:42px;font-family:PublicoMedium,serif;color:#3e4e61;margin:0 auto;padding:0;line-height:42px')][1]")但它不起作用。謝謝你的幫助。
1 回答

喵喔喔
TA貢獻(xiàn)1735條經(jīng)驗(yàn) 獲得超5個(gè)贊
您可以使用下面的 css 選擇器:
td[class*='emailText'] div
代碼:
verification_code = driver.find_element_by_css_selector("td[class*='emailText'] div").text.strip()
添加回答
舉報(bào)
0/150
提交
取消