Веб-автоматизация WhatsApp с Python Selenium (невозможно найти элемент)Python

Программы на Python
Ответить
Anonymous
 Веб-автоматизация WhatsApp с Python Selenium (невозможно найти элемент)

Сообщение Anonymous »

Я использую Python и Selenium для отправки сообщения цели.

Я могу успешно открыть веб-сайт WhatsApp, но после этого я не могу открыть почтовый ящик контакта, чтобы кому я хочу отправить сообщение.

Вот код.
Первая часть обычно используется, когда мне нужно открыть веб-страницу. Это произошло без каких-либо проблем.
Следующая часть — открыть контакт для отправки входящего сообщения.
Я попробовал для этого два разных метода. Ни один из них не помог.

Общая часть:

Код: Выделить всё

#WhatsApp Automation Project
from selenium import webdriver
from selenium.webdriver.support.ui import WebDriverWait
from selenium.webdriver.common.by import By
from selenium.webdriver.support import expected_conditions as EC
from time import sleep

#Open WhatsApp web
driver =  webdriver.Chrome('D:/Drivers/chromedriver')
driver.get('https://web.whatsapp.com')

#The code should wait sometime for the user to scan the bar code.
sleep(15)
print('Code ended its pause.')

#chose whom to send messaage.
target = 'Name_in_Contacts'

#choose the message to send.
string = 'Guess who learned to autoate WhatsApp using Python.'
Метод 1:

Код: Выделить всё

# what I initially thought of doing

search  = driver.find_element_by_class_name("_3FeAD uu8jX")
#class_name is the name of the label of the search box in whatsapp web
#alternatively I had used class name('_3u328 copyable-text selectable-text') , a div class inside the  #label class\
#both the class name give the same error.
#check the image of the HTML code.
search.send_keys(target)
Изображение


Выдает ошибку:

Код: Выделить всё

selenium.common.exceptions.NoSuchElementException: Message: no such element: Unable to locate element: {"method":"css selector","selector":"._3FeAD uu8jX"}
(Session info: chrome=80.0.3987.132)
Метод 2:
Этот метод скопирован из одного из решений из Stack OverFlow.

Код: Выделить всё

#Stack OverFlow method. Didn't work.

#Open searcch box
search = WebDriverWait(driver,5).until(EC.presence_of_element_located((By.CLASS_NAME, "_3u328 copyable-text selectable-text")))
#Alternatively, the other class_name of label was also used.
#Both gave the same error.
search.send_keys(target)
Выдает ошибку:

Код: Выделить всё

raise TimeoutException(message, screen, stacktrace)
selenium.common.exceptions.TimeoutException: Message:
Прошло уже больше месяца, и я не могу решить проблему.

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

Заранее благодарим.

Подробнее здесь: https://stackoverflow.com/questions/606 ... te-element
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «Python»