python 机器人 Instagram 电子邮件

python bot Instagram Email

我正在为 Instagram 帐户创建者工作,但遇到了困难。创建 Instagram 帐户时,您需要一个电子邮件。我正在使用 ProtonMail,我正在使用 Selenium 进行我的网络自动化,但是当我到达它要求您输入所需用户名的步骤时,我的代码找不到该框。 现在选择用户名框的代码如下所示:

self.driver.find_element_by_id('username').send_keys(username)
self.driver.find_element_by_id('password').send_keys(password)
self.driver.find_element_by_id('passwordc').send_keys(password)

错误如下所示:

selenium.common.exceptions.NoSuchElementException: Message: no such element: Unable to locate 
element: {"method":"css selector","selector":"[id="username"]"}

但用户名的 ID 是正确的: id for username

这两行密码代码也可以,只是用户名不行。

我试图通过其 class 名称查找用户名框,但它不起作用。

对于任何未来的 protonmail 问题。这是一个不同的 iframe 这就是为什么通常的方法不起作用的原因。我们需要切换 iframe

    from selenium import webdriver
    from selenium.webdriver.common.by import By
    from selenium.webdriver.support.ui import WebDriverWait
    from selenium.webdriver.support import expected_conditions as EC
    
    chrome_options = webdriver.ChromeOptions()
    chrome_options.add_argument("start-maximized")
    # chrome_options.add_argument('disable-infobars')
    driver = webdriver.Chrome(options=chrome_options, executable_path='C:/bin/chromedriver.exe')
    driver.get("https://protonmail.com/")
    WebDriverWait(driver, 10).until(EC.element_to_be_clickable((By.XPATH, "//a[@class='btn btn-default btn-short' and @href='signup']"))).click()
    WebDriverWait(driver, 10).until(EC.element_to_be_clickable((By.XPATH, "//div[@class='row']//p[text()='Basic account with limited features']"))).click()
    WebDriverWait(driver, 10).until(EC.element_to_be_clickable((By.XPATH, "//button[@class='btn btn-primary btn-lg pull-right' and @id='freePlan']"))).click()
    WebDriverWait(driver, 10).until(EC.frame_to_be_available_and_switch_to_it((By.XPATH, "//div[@class='usernameWrap']//iframe[@title='Registration form']")))
    WebDriverWait(driver, 10).until(EC.element_to_be_clickable((By.XPATH, "//input[@class='input' and @id='username']"))).send_keys("username")