#python #selenium #selenium-webdriver #xpath #selenium-chromedriver
#питон #селен #селен-веб-драйвер #xpath #селен-хромированный привод
Вопрос:
Я пытаюсь выбрать веб-атрибут с помощью python с помощью webdriver, в частности, я хочу скопировать имя, которое я ввел, получателю, но я не могу этого сделать.
from selenium.webdriver.common.keys import Keys from selenium import webdriver import time driver = webdriver.Chrome('C:chromedriver.exe') driver.get('https://www.gmail.com/') driver.implicitly_wait(5) loginBox = driver.find_element_by_xpath('//*[@id ="identifierId"]') loginBox.send_keys('xxxxxxxxxxxxxxxxxx') nextButton = driver.find_elements_by_xpath('//*[@id ="identifierNext"]') nextButton[0].click() passWordBox = driver.find_element_by_xpath('//*[@id ="password"]/div[1]/div / div[1]/input') passWordBox.send_keys('xxxxxxxxxxxxx') nextButton = driver.find_elements_by_xpath('//*[@id ="passwordNext"]') nextButton[0].click() time.sleep(2) driver.get('https://mail.google.com/mail/u/0/#inbox?compose=new') driver.find_element_by_xpath('//textarea[1]').send_keys('Grecia Abad del toro') driver.find_element_by_xpath('//textarea[1]').send_keys(Keys.ENTER)
Как я могу буквально выбрать и скопировать текст, который находится в получателе почты? Большое спасибо.
Комментарии:
1. 2 вопроса: 1) зачем вам нужно читать текст, который вы только что ввели в элемент самостоятельно? 2) Правильно ли работают последние 2 строки в вашем коде?
2. Это академическое электронное письмо. Когда вы указываете имя человека, он отправляет вам почту, и мне нужно их скопировать
3. Да, последние две строки кода работают правильно. На самом деле весь код функционален, мне просто нужно выбрать его и скопировать
Ответ №1:
Этот элемент содержит контактный адрес электронной почты:
//form[@method='POST']//span[@email]
Итак, чтобы получить адрес электронной почты адресата, вы можете сделать следующее:
driver.get('https://mail.google.com/mail/u/0/#inbox?compose=new') driver.find_element_by_xpath('//textarea[1]').send_keys('Grecia Abad del toro') driver.find_element_by_xpath('//textarea[1]').send_keys(Keys.ENTER) time.sleep(2) email = driver.find_element_by_xpath('//form[@method="POST"]//span[@email]').get_attribute("email") print(email)
Комментарии:
1. Файл «gmail.py», строка 41 email = драйвер.find_element_by_xpath(‘//форма[@метод=’СООБЩЕНИЕ’]//span[@email]’).атрибут get_attribute(«электронная почта») ^ Ошибка синтаксиса: неверный синтаксис
2. Исправил это, извините