Отправить файл через WhatsApp из Python - PullRequest
0 голосов
/ 06 февраля 2019

Я пытался отправить один файл с помощью веб-драйвера Python Selenium.Но я не могу найти кнопку отправки с помощью Python.Я вижу ниже HTML, используя inspect:

Кроме того, экран моего веб-приложения WhatsApp не отображается после экрана отправки файла Снимок экрана веб-приложения Whatsapp

Я использовал следующий код:

fileToSend = file
#Get whatsapp contact
WebDriverWait(driver, wait).until(EC.presence_of_element_located((By.CSS_SELECTOR, '.jN-F5')))
search = driver.find_element_by_css_selector('.jN-F5')
search.send_keys(user + Keys.ENTER)
# click to add
driver.find_element_by_css_selector('span[data-icon="clip"]').click()
# add file to send by file path
attach=driver.find_element_by_css_selector('input[type="file"]')
attach.send_keys(fileToSend) 
send=self.driver.find_element_by_class_name('yavlE')

Ниже приведен HTML-код:

 <div role="button" class="_3hV1n yavlE">
        <span data-icon="send-light" class="">
            <svg id="Layer_1" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 28 24" width="28" height="24">
                <path fill="#FFF" d="M5.101 21.757L27.8 12.028 5.101 2.3l.011 7.912 13.623 1.816-13.623 1.817-.011 7.912z"></path>
            </svg>
        </span>
    </div>

Пожалуйста, помогите.

Спасибо, Самир

1 Ответ

0 голосов
/ 06 февраля 2019

Вы используете неправильное имя класса на следующем шаге:

self.driver.find_element_by_class_name('yavlE')

Замените вышеуказанную строку указанным ниже локатором и повторите попытку:

self.driver.find_element_by_xpath("//div[contains(@class, 'yavlE')]");

Тем не менее вы получаете исключение NoSuchElementExceptionзатем попытайтесь дать некоторую задержку, как показано ниже:

from time import sleep
sleep(3)
self.driver.find_element_by_xpath("//div[contains(@class, 'yavlE')]");

Надеюсь, это сработает ...

...