2

the code is

from selenium import webdriver
from selenium.webdriver.common.by import By
from selenium.webdriver.support.ui import WebDriverWait
from selenium.webdriver.support import expected_conditions as EC
from selenium.webdriver.common.keys import Keys
import pyperclip
import time
import sys
from config import CHROME_PROFILE_PATH


browser = webdriver.Chrome(
executable_path='C:/Users/Admin/chromedriver/chromedriver')

browser.maximize_window()

browser.get('https://web.whatsapp.com/')



with open('C:/flask/new/Login-Page-With-Flask- 
HTML/src/groups.txt', 'r', encoding='utf8') as f:
groups = [group.strip() for group in f.readlines()]

with open('C:/flask/new/Login-Page-With-Flask-HTML/src/msg.txt', 
'r', encoding='utf8') as f:
msg = f.read()


for group in groups:
    search_xpath = '//div[@contenteditable="true"][@data-tab="3"]'

    search_box = WebDriverWait(browser, 500).until(
        EC.presence_of_element_located((By.XPATH, search_xpath))
    )

    search_box.clear()

    time.sleep(1)

    pyperclip.copy(group)

    search_box.send_keys(Keys.SHIFT, Keys.INSERT)  # Keys.CONTROL + "v"

    time.sleep(2)

    group_xpath = f'//span[@title="{group}"]'
    group_title = browser.find_element_by_xpath(group_xpath)

    group_title.click()

    time.sleep(1)

    input_xpath = '//div[@contenteditable="true"][@data-tab="1"]'
    input_box = browser.find_element_by_xpath(input_xpath)

    pyperclip.copy(msg)
    input_box.send_keys(Keys.SHIFT, Keys.INSERT)  # Keys.CONTROL + "v"
    input_box.send_keys(Keys.ENTER)

    time.sleep(2)

the error is

selenium.common.exceptions.NoSuchElementException: Message: no such element: Unable to locate element: {"method":"xpath","selector":"//div[@contenteditable="true"][@data-tab="1"]"}

and the other error is

c:\flask\new\Login-Page-With-Flask-HTML\src\main.py:46: DeprecationWarning: find_element_by_* commands are deprecated. Please use find_element() instead

group_title = browser.find_element_by_xpath(group_xpath) c:\flask\new\Login-Page-With-Flask-HTML\src\main.py:53: DeprecationWarning: find_element_by_* commands are deprecated. Please use find_element() instead input_box = browser.find_element_by_xpath(input_xpath) Traceback (most recent call last): File "c:\flask\new\Login-Page-With-Flask-HTML\src\main.py", line 53, in input_box = browser.find_element_by_xpath(input_xpath) File "C:\Users\Admin\AppData\Local\Programs\Python\Python39\lib\site-packages\selenium\webdriver\remote\webdriver.py", line 514, in find_element_by_xpath return self.find_element(by=By.XPATH, value=xpath) File "C:\Users\Admin\AppData\Local\Programs\Python\Python39\lib\site-packages\selenium\webdriver\remote\webdriver.py", line 1238, in find_element return self.execute(Command.FIND_ELEMENT, { File "C:\Users\Admin\AppData\Local\Programs\Python\Python39\lib\site-packages\selenium\webdriver\remote\webdriver.py", line 418, in execute self.error_handler.check_response(response) File "C:\Users\Admin\AppData\Local\Programs\Python\Python39\lib\site-packages\selenium\webdriver\remote\errorhandler.py", line 243, in check_response raise exception_class(message, screen, stacktrace)

please give the right answer

0 Answers0