通过Python通过whatsapp发送文件

时间:2019-02-06 09:34:09

标签: python selenium whatsapp

我试图使用Python Selenium Web驱动程序发送一个文件。但是我无法使用python找到发送按钮。我可以使用inspect在HTML下方查看:

在文件发送屏幕Whatsapp web screen shot之后,我的Web 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 :(得分:1)

您在以下步骤中使用了错误的类名:

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')]");

我希望它能起作用...