Как отозвать сеанс Firefox с использованием селена в питоне (для веб-сайта WhatsApp)?

avatar
Imran Syed
9 августа 2021 в 06:02
134
0
0

Я пытаюсь создать бота WhatsApp. Я думаю использовать Raspberry Pi в качестве сервера (для размещения кода и запуска)

Я столкнулся со следующими проблемами

  1. Нет хрома/хрома: Я не могу понять, как установить веб-драйвер хрома/хрома, чтобы селен работал на Raspberry Pi. Перепробовал множество руководств, но безуспешно.
  2. Проблема с драйвером Firefox: Я следил за учебным пособием на YouTube о том, как сохранить сеанс, парень инструктирует относительно использования Chrome, но я пошел по тому же пути с Firefox, но снова безуспешно

Это код, который я запускаю.

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 time

group= 'Python Code'
session_file_path="user-data-dir=C:\\Users\\<username>\\AppData\\Local\\Mozilla\\Firefox\\Profiles\\WhatBot"

options=webdriver.FirefoxOptions()
options.add_argument(session_file_path)

browser = webdriver.Firefox(
    executable_path= "C:\\Users\\<username>\\Documents\\Python\\geckodriver.exe",options=options)
browser.maximize_window()
browser.get('https://web.whatsapp.com/')
time.sleep(1)
search_xpath = '//div[@contenteditable="true"][@data-tab="3"]'

search_box = WebDriverWait(browser, 100).until(
        EC.presence_of_element_located((By.XPATH, search_xpath))
    )
group_xpath = f'//span[@title="{group}"]'
search_box.send_keys(group)
time.sleep(1)
group_title = browser.find_element_by_xpath(group_xpath)
group_title.click()

input_xpath='//div[@contenteditable="true"][@data-tab="6"]'
input_box=browser.find_element_by_xpath(input_xpath)
input_box.send_keys("Test by user")
time.sleep(1)
input_box.send_keys(Keys.ENTER)

Выпуск Firefox: я предоставил следующий путь сеанса, но мне приходится сканировать QR снова и снова.

session_file_path="user-data-dir=C:\\Users\\<username>\\AppData\\Local\\Mozilla\\Firefox\\Profiles\\WhatBot"

options=webdriver.FirefoxOptions()
options.add_argument(session_file_path)

browser = webdriver.Firefox(
    executable_path= "C:\\Users\\<username>\\Documents\\Python\\geckodriver.exe",options=options)
Источник

Ответы (0)