首页 > 解决方案 > 无法使用 selenium 在 Outlook 上查找“帐户已存在”错误消息

问题描述

所以我开始学习 selenium 和 bs4 来掌握数据抓取的窍门,我认为一个好的学习活动是尝试自主注册电子邮件。

我想为电子邮件输入一个名称,例如“Jake”,然后在输入时不断在其末尾添加零,直到电子邮件空闲为止。我检查电子邮件是否被占用的方法是检查“有人已经拥有此电子邮件地址”。试试另一个名字。存在错误。

我发现这个错误的类名是“alert alert-error col-md-24”。

所以我尝试使用以下命令来查找它是否存在:

browser.find_element_by_class_name("alert alert-error col-md-24")

即使我可以在选项卡上看到消息,Selenium 也永远找不到它。

我尝试将 time.sleep(2) 放在 emailtextbar.send_keys(Keys.ENTER) 和 browser.find_element_by_class_name("alert alert-error col-md-24") 之间,以便有时间加载消息。

import requests
import selenium
import random
from bs4 import BeautifulSoup
from selenium.webdriver.common.keys import Keys
from selenium import webdriver
import time

def emailcreation(namenum):
    namebeg = "Jake"
    browser = webdriver.Firefox(executable_path="/home/jakebs/webdriver/geckodriver")
    browser.get("https://signup.live.com/signup?lcid=1033&wa=wsignin1.0&rpsnv=13&ct=1563988678&rver=7.0.6737.0&wp=MBI_SSL&wreply=https%3a%2f%2foutlook.live.com%2fowa%2f%3fnlp%3d1%26signup%3d1%26RpsCsrfState%3dadb5869d-f5a1-d91c-ae6b-7db40ba07bf4&id=292841&CBCXT=out&lw=1&fl=dob%2cflname%2cwld&cobrandid=90015&lic=1&uaid=4367c1f7dc3144e9b06c1e5365477c5e")
    emailtextbar = browser.find_element_by_id("MemberName")
    emailtextbar.send_keys(namebeg + (str(0))*namenum)
    emailtextbar.send_keys(Keys.ENTER)
    time.sleep()
    emailpass = False
    while not emailpass:
        try:
            browser.find_element_by_class_name("alert alert-error col-md-24")
            print("Got here")
            for i in range(len(namebeg + (str(0)*namenum))):
                emailtextbar.send_keys(Keys.BACKSPACE)
            namenum += 1
            emailtextbar.send_keys(len(namebeg + (str(0)*namenum)))
            emailtextbar.send_keys(Keys.ENTER)
        except selenium.common.exceptions.NoSuchElementException:
            print("Email passed")
            emailpass = True
emailcreation(0)

假设我只有在没有收到电子邮件而是不断收到电子邮件时才会收到此错误。selenium.common.exceptions.NoSuchElementException:消息:无法找到元素:.alert alert-error col-md-24

谢谢,杰克

标签: pythonseleniumbeautifulsoup

解决方案


推荐阅读