Не могу использовать селен для отправки автоматических сообщенийPython

Программы на Python
Ответить
Anonymous
 Не могу использовать селен для отправки автоматических сообщений

Сообщение Anonymous »

Я пытаюсь отправить сообщения каждому несохраненному контакту в WhatsApp Web и работаю со сценарием, предоставленным ChatGPT, с использованием Selenium. Однако у меня возникли проблемы с определением правильного элемента с помощью XPath для открытия каждого отдельного чата в приложении. В частности, мне нужен способ взаимодействия с каждым контактом и отправки ему сообщения.
Кроме того, я хочу автоматизировать прокрутку, чтобы загружались все чаты, гарантируя, что каждый несохраненный контакт получит одно и то же. сообщение. Я также добавляю 15-секундную задержку между каждым сообщением, чтобы WhatsApp не помечал его как спам.
Не могли бы вы помочь мне с XPath для динамического выбора каждого чата или предложить лучший подход? автоматизировать эту задачу?
Это код, сгенерированный gpt чата
from selenium import webdriver
from selenium.webdriver.common.by import By
from selenium.webdriver.chrome.service import Service
from selenium.webdriver.chrome.options import Options
from selenium.webdriver.common.keys import Keys
from selenium.webdriver.support.ui import WebDriverWait
from selenium.webdriver.support import expected_conditions as EC
from webdriver_manager.chrome import ChromeDriverManager
import time

# Set up Chrome options to run headless (optional)
chrome_options = Options()
chrome_options.add_argument("--headless") # Uncomment this line if you want to run headless

# Set up the webdriver with ChromeDriverManager
driver = webdriver.Chrome(service=Service(ChromeDriverManager().install()), options=chrome_options)

# Open WhatsApp Web
driver.get("https://web.whatsapp.com")

# Wait for the page to load (add time for QR code scan if necessary)
WebDriverWait(driver, 120).until(
EC.presence_of_element_located((By.CSS_SELECTOR, "#pane-side > div:nth-child(3) > div > div > div:nth-child(1) > div > div > div > div._ak8l"))
)

# Now you can interact with elements. For example, sending a message:
# Assuming that you want to interact with the first contact on the list:

# Click on the first chat
first_chat = driver.find_element(By.CSS_SELECTOR, "#pane-side > div:nth-child(3) > div > div > div:nth-child(1) > div > div > div > div._ak8l")
first_chat.click()

# Wait for the message input field to be visible
message_box = WebDriverWait(driver, 10).until(
EC.presence_of_element_located((By.CSS_SELECTOR, "div._13NKt"))
)

# Send a message
message_box.send_keys("Hello! This is an automated message.")
message_box.send_keys(Keys.RETURN)

# Optional: Add a delay between sending messages to avoid being flagged as spam
time.sleep(15)

# Don't forget to close the browser after you're done
driver.quit()```



Подробнее здесь: https://stackoverflow.com/questions/792 ... c-messages
Ответить

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

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

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

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

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