selenium

sergeyscorp

Новичок
Пользователь
Ноя 30, 2020
1
0
1
К сожалению не изучал python, и не знаю к кому обратится с таким легким вопросом.
Я нашел код для отправки сообщений в вк. Структуру понял, и все вроде как совпадает. Но почему то ошибки падают
Python:
from selenium.webdriver.chrome.options import Options
from selenium.webdriver.support import expected_conditions as ec
from selenium.webdriver.common.by import By
from selenium.webdriver.support.ui import WebDriverWait
from selenium import webdriver
driver = webdriver.Chrome()
driver.get("http://www.google.com")
from colorama import Fore, init
from time import sleep
import os

options = Options()
options.add_argument("--window-size=955,640")
options.add_argument("--log-level=3")
options.add_argument('--headless')
options.add_argument("--incognito")
init()

summa = int(input('Enter your bet: '))
browser = webdriver.Chrome(executable_path='chromedriver.exe', chrome_options=options)
browser.get('https://vk.com/bot_lesya')
browser.find_element_by_id('quick_email').send_keys('login')
browser.find_element_by_id('quick_pass').send_keys('password')
browser.find_element_by_id('quick_login_button').click()
WebDriverWait(browser, 15).until(ec.presence_of_element_located((By.CLASS_NAME, 'group_send_msg_status_block_title'))).click()
WebDriverWait(browser, 15).until(ec.presence_of_element_located((By.CLASS_NAME, 'mail_box_header_link'))).click()
WebDriverWait(browser, 15).until(ec.presence_of_element_located((By.ID, 'im_editable-158861435'))).send_keys('Казино ' + str(summa))
browser.find_element_by_xpath('//*[@id="content"]/div/div[1]/div[3]/div[2]/div[4]/div[3]/div[4]/div[1]/button').click()
os.system("cls")
q = int(summa)
sleep(6)

print(Fore.LIGHTCYAN_EX + '\n[>]\tYour bet is ' + str(summa) + '$\n' + Fore.RESET + '\n'
      '________________________________________________________________________________')

while True:
    t = browser.find_elements_by_xpath('//*[@id="content"]/div/div[1]/div[3]/div[2]/div[3]/div/div/div/div/div[1]/div')
    e = browser.find_element_by_xpath('//*[@id="content"]/div/div[1]/div[3]/div[2]/div[3]/div/div/div/div/div[1]/div[' + str(len(t)) + ']').text

    if 'проиграли' in e:
        su = q * 2
        q = su
        print(Fore.LIGHTRED_EX + 'LOSE ' + Fore.RESET + '| Balance: ' + e.split(': ')[-1] + '$')
        browser.find_element_by_xpath('//*[@id="im_editable-158861435"]').send_keys('Казино ' + str(su))
        browser.find_element_by_xpath( '//*[@id="content"]/div/div[1]/div[3]/div[2]/div[4]/div[3]/div[4]/div[1]/button').click()
        sleep(6)  # Задержка между сообщениями

    elif 'выиграли' in e:
        print(Fore.LIGHTGREEN_EX + 'WIN ' + Fore.RESET + '| Balance: ' + e.split(': ')[-1] + '$')
        browser.find_element_by_xpath('//*[@id="im_editable-158861435"]').send_keys('Казино ' + str(summa))
        browser.find_element_by_xpath( '//*[@id="content"]/div/div[1]/div[3]/div[2]/div[4]/div[3]/div[4]/div[1]/button').click()
        q = int(summa)
        sleep(6)

    elif 'недостаточно' in e:
        print('STOP / You dont have a balance')
        browser.find_element_by_xpath('//*[@id="im_editable-158861435"]').send_keys('Казино ' + str(summa))
        browser.find_element_by_xpath( '//*[@id="content"]/div/div[1]/div[3]/div[2]/div[4]/div[3]/div[4]/div[1]/button').click()
        q = int(summa)
        break

    else:
        browser.find_element_by_xpath('//*[@id="im_editable-158861435"]').send_keys('Казино ' + str(q))
        browser.find_element_by_xpath('//*[@id="content"]/div/div[1]/div[3]/div[2]/div[4]/div[3]/div[4]/div[1]/button').click()
        sleep(6)

Ошибки -
Код:
[9124:8740:1130/145136.161:ERROR:device_event_log_impl.cc(211)] [14:51:36.162] Bluetooth: bluetooth_adapter_winrt.cc:1073 Getting Default Adapter failed
Код:
File "D:\рабочий стол\bot\start.py", line 28, in <module>
    browser.find_element_by_xpath('//*[@id="content"]/div/div[1]/div[3]/div[2]/div[4]/div[3]/div[4]/div[1]/button').click()
  File "D:\py\lib\site-packages\selenium\webdriver\remote\webdriver.py", line 394, in find_element_by_xpath
    return self.find_element(by=By.XPATH, value=xpath)
  File "D:\py\lib\site-packages\selenium\webdriver\remote\webdriver.py", line 976, in find_element
    return self.execute(Command.FIND_ELEMENT, {
  File "D:\py\lib\site-packages\selenium\webdriver\remote\webdriver.py", line 321, in execute
    self.error_handler.check_response(response)
  File "D:\py\lib\site-packages\selenium\webdriver\remote\errorhandler.py", line 242, in check_response
    raise exception_class(message, screen, stacktrace)
selenium.common.exceptions.NoSuchElementException: Message: no such element: Unable to locate element: {"method":"xpath","selector":"//*[@id="content"]/div/div[1]/div[3]/div[2]/div[4]/div[3]/div[4]/div[1]/button"}
  (Session info: headless chrome=87.0.4280.66)

Писали что проблема в локаторах..
 

Noor

Пользователь
Пользователь
Ноя 13, 2020
85
19
8
зайдите на сайт и руками (в dev tools) проверьте те локаторы, на которые ругается.
 

Форум IT Специалистов