0

Mon code est (étudié à partir geeksforgeeks):Erreur dans textos message automatique à WhatsApp en utilisant python

#!/usr/bin/python 
from selenium import webdriver 
from selenium.webdriver.support.ui import WebDriverWait 
from selenium.webdriver.support import expected_conditions as EC 
from selenium.webdriver.common.keys import Keys 
from selenium.webdriver.common.by import By 
import time 
# Replace below path with the absolute path 
# to chromedriver in your computer 
driver = webdriver.Chrome('C:\webdriver\chromedriver.exe') 
driver.get("https://web.whatsapp.com/") 
wait = WebDriverWait(driver, 600) 
# Replace 'Friend's Name' with the name of your friend 
# or the name of a group 
target = "Rahul Mehta" 
# Replace the below string with your own message 
string = "Hi" 
y_arg = '//*[@id="side"]/div[2]/div/label/input' 
input_y = wait.until(EC.presence_of_element_located((By.XPATH, y_arg))) 
input_y.send_keys(target + Keys.ENTER) 
inp_xpath = '//*[@id="main"]/footer/div[1]/div[1]/div/div[2]' 
input_box = wait.until(EC.presence_of_element_located((By.XPATH,inp_xpath))) 
for i in range(2): 
    input_box.send_keys(string + Keys.ENTER) 
    time.sleep(1) 

Je reçois l'erreur:

[1436:4360:1017/202620.286:ERROR:shader_disk_cache.cc(237)] Failed to create 
shader cache entry: -2 

Je reçois les mêmes erreurs répétées dans la commande invite quand j'augmente la gamme. Le navigateur est ouvert, puis il cherche même le nom de mon ami mais finalement il n'envoie pas le message. S'il vous plaît aidez-moi.J'ai presque perdu une journée entière pour cela encore sans indice sur la façon d'aller plus loin :(

+0

Avez-vous l'esprit copier/coller le message d'erreur comme un texte? S'il vous plaît se référer à [Décourager captures d'écran de code et/ou erreurs] (https://meta.stackoverflow.com/questions/303812/decourage-screenshots-of-code-et-or-errors) –

+0

Pos duplicable de [Python Selenium - localisation d'un élément par son problème de sélecteur Css sur la mise en cache] (https://stackoverflow.com/questions/46393818/python-selenium-locating-an-element-by-its-css-selector-issue -about-caching) –

+0

J'ai ajouté le message d'erreur. –

Répondre

0

Je suis aussi face au même problème et quelle conclusion je déduis est que, en fait, à chaque nouvelle version, le whatsapp change la façon d'écrire son code pour automatiser le code HTML que vous devez vérifier la nouvelle syntaxe de HTML Pour l'instant ce que j'ai trouvé est que je n'ai aucune idée jusqu'à quand ce code sera valide mais pour l'instant , il fonctionne très bien.

from selenium import webdriver 
from selenium.webdriver.support.ui import WebDriverWait 
from selenium.webdriver.support import expected_conditions as EC 
from selenium.webdriver.common.keys import Keys 
from selenium.webdriver.common.by import By 


driver = webdriver.Chrome(r'F:/chrome driver/chromedriver.exe') 

driver.get("https://web.whatsapp.com/") 
wait = WebDriverWait(driver, 600) 

target = '"friend\'s name"' 

string = "your message" 

x_arg = '//span[contains(@title,' + target + ')]' 
group_title = wait.until(EC.presence_of_element_located((
    By.XPATH, x_arg))) 
group_title.click() 

inp_xpath = '//div[@class="pluggable-input-body copyable-text selectable-text"][@dir="auto"][@data-tab="1"]' 
input_box = wait.until(EC.presence_of_element_located((
    By.XPATH, inp_xpath))) 

for i in range(10): 
    input_box.send_keys(string + Keys.ENTER)