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")
我正在为 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")