Selenium создает массовые адреса электронной почты - PullRequest
0 голосов
/ 08 марта 2019

Я хочу использовать селен для создания нескольких адресов электронной почты одновременно. Я предполагаю, что они могут быть случайными, но у меня уже есть список имен учетных записей электронной почты, которые я хочу создать.

Я знаю, как создать 1 электронное письмо с помощью веб-драйвера, но как мне это сделать, если я хочу подписать несколько, одну за другой автоматически, без необходимости всегда менять код?

Простой код для создания 1 электронного письма:

from selenium import webdriver
import time

url = 'https://hotmail.com/'

driver = webdriver.Chrome('/C:Users/Desktop/chromedriver')
driver.get(url)

driver.find_element_by_xpath("//a[contains(@class, 'linkButtonSigninHeader')]/@href").click()
time.sleep(2)

driver.find_element_by_id('MemberName').send_keys('usernameexample')
time.sleep(1)

driver.find_element_by_id('iSignupAction).click()
time.sleet(2)

driver.find_element_by_id('PasswordInput').send_keys('Passwordexample1')
time.sleep(1)

driver.find_element_by_id('iSignupAction').click()
time.sleep(2)

driver.find_element_by_id('FirstName').send_keys('john')
time.sleep(1)

driver.find_element_by_id('LastName').send_keys('wayne')
time.sleep(1)

driver.find_element_by_id('iSignupAction').click()

1 Ответ

0 голосов
/ 08 марта 2019

Как уже отмечали другие, вы можете перебирать коллекцию данных, например массив:

array_of_usernames = ['username_one', 'username_two']

array_of_usernames.each do |username|

  url = 'https://hotmail.com/'

  driver = webdriver.Chrome('/C:Users/Desktop/chromedriver')
  driver.get(url)

  driver.find_element_by_xpath("//a[contains(@class, 'linkButtonSigninHeader')]/@href").click()
  driver.find_element_by_id('MemberName').send_keys("#{username}")  #INTERPOLATED BLOCK-LOCAL VARIABLE HERE
  driver.find_element_by_id('iSignupAction).click()
  driver.find_element_by_id('PasswordInput').send_keys('Passwordexample1')
  driver.find_element_by_id('iSignupAction').click()
  driver.find_element_by_id('FirstName').send_keys('john')
  driver.find_element_by_id('LastName').send_keys('wayne')
  driver.find_element_by_id('iSignupAction').click()

  # some step to log out so that next username can register

end

Если вы не знакомы с массивами или итерациями, то я бы посоветовал взглянуть надокументы, чтобы разобраться с этим: https://ruby -doc.org / core-2.6.1 / Array.html # method-i-each

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...