Пример #1
0
    def test_send_massage(self):
        # Авторизация
        login_page = LoginPage(self.driver)
        while self.login_procedure:
            login = input('Введите логин: ')
            password = getpass.getpass('Введите пароль: ')
            login_page.enter_site('https://vk.com', True)
            login_page.enter_username(f'{login}')
            login_page.enter_password(f'{password}')
            if login_page.log_into(True):
                self.login_procedure = False

        # Выбор диалога
        dialog_page = DialogPage(self.driver)
        while self.dialog_procedure:
            result = dialog_page.load_friend_edit_interface_and_get_id_result()
            if dialog_page.enter_dialog(result, login, password):
                self.dialog_procedure = False

        # Общение
        while self.message.lower() != 'stop!':
            self.message = input(f'> ')
            dialog_page.send_message(f'{self.message}')

        # hard reset
        for i in range(3):
            pyautogui.hotkey('ctrl', 'c')
def message_loop(login, password, dialog_id):
    options = webdriver.ChromeOptions()
    options.add_argument('headless')
    driver = webdriver.Chrome(executable_path='chromedriver.exe',
                              options=options)

    driver.implicitly_wait(10)
    login_page = LoginPage(driver)
    login_page.enter_site('https://vk.com', False)
    login_page.enter_username(f'{login}')
    login_page.enter_password(f'{password}')
    login_page.log_into(False)
    driver.get(f'https://vk.com/im?sel={dialog_id}')
    print('Completed...\n== Подключение завершено ==')
    time.sleep(0.1)
    pyautogui.hotkey('enter')
    with open('resources/friends.json') as f:
        data = json.load(f)
        lm = driver.find_elements_by_xpath(
            "//*[@class='im-mess--text wall_module _im_log_body']")[-1]
        while True:
            time.sleep(0.1)
            message = driver.find_elements_by_xpath(
                "//*[@class='im-mess--text wall_module _im_log_body']")[-1]
            if lm != message:
                for key, value in data.items():
                    if message.find_element_by_xpath(
                            '../../../..').get_attribute('data-peer') == str(
                                dialog_id):
                        if dialog_id == value:
                            print(f'{key} > {message.text}')
                            time.sleep(0.1)
                            pyautogui.hotkey('enter')
                lm = message