Как я могу написать в этом текстовом поле, используя python webdriver? - PullRequest
0 голосов
/ 27 апреля 2020

Я пытался написать что-то в этом почтовом ящике:

enter image description here

Вот моя часть кода, которая его отправляет:

from selenium import webdriver
from selenium.webdriver.common.keys import Keys
import time
import random
import pyperclip

while True:
    driver = webdriver.Chrome('/usr/lib/chromium-browser/chromedriver')


    #Get email Site
    driver.get('https://temp-mail.org/en/');
    time.sleep(5)

    #Click Button
    #bt = driver.find_element_by_link_text('Change')
    #bt.click()

    #Copy Email
    element = driver.find_element_by_id('mail')
    emailtextvalue = element.text
    time.sleep(5)
    pyperclip.copy(emailtextvalue)
    time.sleep(2)

    #Enter Email
    driver.find_element_by_tag_name('body').send_keys(Keys.COMMAND + 't')
    time.sleep(2)
    driver.get('https://www.pointsprizes.com/ref/18429434')
    time.sleep(5)

    #This is the problem
    entermail = driver.find_elements_by_name('email').send_keys(emailtextvalue) 
    time.sleep(2)
# enter code here

This предполагается взять случайное электронное письмо и поместить его в почтовый ящик на почтовом ящике с призовым баллом! Но ключи отправки не будут работать!

Ответы [ 2 ]

0 голосов
/ 27 апреля 2020
while True:
    driver = webdriver.Chrome('/usr/lib/chromium-browser/chromedriver')


    #Get email Site
    driver.get('https://temp-mail.org/en/');
    time.sleep(5)

    #Click Button
    #bt = driver.find_element_by_link_text('Change')
    #bt.click()

    #Copy Email
    element = driver.find_element_by_id('mail')
    emailtextvalue = element.get_attribute("value")
    time.sleep(5)
    #If you dont use you dont need copy string
    pyperclip.copy(emailtextvalue)
    time.sleep(2)

    #Enter Email
    driver.find_element_by_tag_name('body').send_keys(Keys.COMMAND + 't')
    time.sleep(2)
    driver.get('https://www.pointsprizes.com/ref/18429434')
    time.sleep(5)

    #This is the problem
    entermail = driver.find_elements_by_name('email')[0].send_keys(emailtextvalue) 
    time.sleep(2)

Я изменил ваш код на этот

0 голосов
/ 27 апреля 2020

Попробуйте:

entermail = driver.find_element_by_xpath("//*[@id='wrapper']/div[4]/div/div/div[1]/form/div[1]/input[1]")
driver.implicity_wait(5)
entermail.send_keys(emailtextvalue)

Редактировать: Я получаю X путь, как enter image description here

Редактировать 2: driver.find_elements_by_name('email')[0] может работать

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