@StenMarsh1337

Selenium+Telegram?

Всем привет, не получается сделать переход между def!

def driver(message):
    today = datetime.datetime.today()
    chat_id = message.chat.id
    user_id = message.from_user.id
    user = user_data[user_id]
    myDates = today.strftime("%Y-%m-%d 00:00:00")
    ersq = datetime.datetime.strptime(myDates, "%Y-%m-%d %H:%M:%S").timestamp()
    ghsa = float(ersq) * 1000
    url = "" % (
        ghsa, user.time)
    opts = Options()
    opts.add_argument(
        "user-agent=Mozilla/5.0 (Macintosh; Intel Mac OS X 10_14_2) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/75.0.3770.100 Safari/537.36")
    opts.add_argument("--user-data-dir=Users/Profile 1")
    opts.add_argument("--profile-directory=Profile 1")
    driver = webdriver.Chrome(options=opts)
    driver.get(url)
    time.sleep(15)
    elem = driver.find_element_by_name("")
    elem.send_keys(" ")
    time.sleep(4)
    pag.hotkey('ctrl', 'a')
    time.sleep(4)
    pag.hotkey('backspace')
    time.sleep(4)
    elem.send_keys()
    time.sleep(4)
    elem = driver.find_element_by_name("accountPassword")
    elem.send_keys()
    time.sleep(4)
    elem = driver.find_element_by_id("continueFieldbutton").click()
    elem = driver.find_element_by_id("send-code-to-trusted-device").click()
    elem = driver.find_element_by_name("digit1")
    msg = bot.send_message(chat_id, "Напиши код который тебе пришёл, у тебя есть 20сек.")
    bot.register_next_step_handler(msg, third)
def third(message):
    elem = driver.find_element_by_name("digit1")
    text_code = message.text
    time.sleep(4)
    elem.send_keys(text_code)
    time.sleep(4)
    elem = driver.find_element_by_id("setupLink").click()
    time.sleep(50)
    pag.hotkey('ctrl', 'a')
    time.sleep(4)
    pag.hotkey('ctrl', 'c')
    time.sleep(10)
    driver.execute_script(
        "window.open('')")
    time.sleep(50)
    pag.hotkey('delete')
    time.sleep(40)
    pag.hotkey('ctrl', 'w')
    time.sleep(10)
    driver.execute_script(
        "window.open('')")
    time.sleep(50)
    pag.hotkey('ctrl', 'v')
    time.sleep(30)
    driver.quit()

Выдаёт вот такую ошибку "AttributeError: 'function' object has no attribute 'find_element_by_name'"
Как сделать переход? чтобы driver не терялся, если driver вставить в def third то он открывает новый браузер а мне нужно продолжение работы в том браузере который был первоначально открыт и сохранялся текст при вводе в телеграме
  • Вопрос задан
  • 647 просмотров
Решения вопроса 1
SoreMix
@SoreMix Куратор тега Python
yellow
Назовите переменную и функцию по разному, почему функция называется драйвер, как и переменная
Ну и нужно будет передать сам driver в функцию third.

# ...
bot.register_next_step_handler(msg, third, driver)
# ...

# ...
def third(message, driver):
# ...
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы