python - 无法使用 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
谢谢,杰克
解决方案
推荐阅读
- primes - 为什么从当前素数的平方开始第二个 Eratosthenes 筛子循环?
- reactjs - 无法读取未定义、材质 ui、theme.breakpoints 的属性“向上”
- node.js - 如何让发射器在 nodejs express 中运行?
- python - 如何在 django-filter 中创建 MultipleChoiceField?
- jquery - 如果内容相同,jQuery 或浏览器会更新元素吗?
- python - SciPy Curve_fit() 不适合曲线
- php - 在 php 类之外使用父级
- elasticsearch - Elasticsearch在正则表达式中转义特殊字符
- sql - 查询从当前日期开始的最后 4 个星期二
- typescript - fetch 的 TypeScript 类型更多