2017-02-04 16 views
1

Я нашел this python script on github, который отправляет автоматические веб-сообщения WhatsApp через Selenium.WhatsApp Web automation с Selenium не работает

#https://www.github.com/iamnosa 
#Let's import the Selenium package 
from selenium import webdriver 

#Let's use Firefox as our browser 
web = webdriver.Firefox() 
web.get('http://web.whatsapp.com') 
input() 

#Replace Mr Kelvin with the name of your friend to spam 
elem = web.find_element_by_xpath('//span[contains(text(),"Mr Kelvin")]') 
elem.click() 
elem1 = web.find_elements_by_class_name('input') 
while True: 
    elem1[1].send_keys('hahahahahahaha') 
web.find_element_by_class_name('send-container').click() 

Несмотря на то, что предназначалось для рассылки спама, я пытался приспособить его для хорошей цели, но сценарий, как он стоит, кажется, не работает. Вместо того, чтобы отправлять сообщение через WhatsApp Web, он просто загружает экран проверки подлинности QR, а затем он ничего не делает после того, как я аутентифицирую свой мобильный телефон.

Любые подсказки относительно того, почему это происходит? Я запускаю последнюю версию Selenium WebDriver на Firefox, и geckodriver уже извлечен в/usr/bin /.

ответ

1

Я понимаю, что это сообщение старше, но по-прежнему кажется, что его часто рассматривают. Объяснение клавиатуры @ vhad01 имеет смысл, но не работает для меня.

Простой грязный обходной путь, который работал для меня: Заменить input() с

import time 
time.sleep(25) 

, а 25 это количество секунд будет ждать, пока код не будет в дальнейшем выполняться. (15 также должно быть достаточно для сканирования QR-кода, ...).

0

Эта линия:

input() 

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