ошибка при работе кода на python selenium

Рейтинг: 1Ответов: 0Опубликовано: 20.07.2023

Написал небольшой скрипт с автоматизацией, но в одной функции почему то скрипт не находит нужную кнопку... Точнее не "ненаходит", а просто виснет, так как вылетала бы ошибка "объект не найден" однако при работе скрипта она не появляется.

def Worker():
    obj = driver.find_element(By.XPATH, '//*[@id="btn_card_run"]') # НАХОДИМ КНОПКУ С "НАЧАЛОМ ЗАДАНИЯ"
    obj.click() # ЖМЕМ НА НЕЕ

    time.sleep(rd(10,25)) #СПИМ

    driver.switch_to.window(driver.window_handles[1])

    time.sleep(rd(10,25)) #СПИМ

    driver.refresh() # ОБНОВЛЯЕМ СТРАНИЦУ

    time.sleep(rd(13,20)) # СПИМ

    obj = driver.find_element(By.XPATH, '//*[@id="movie_player"]/div[4]/div') # НАХОДИМ КНОПКУ ЗАПУСКА ВИДЕО
    obj.click() # ЖМЕМ


    
    obj = driver.find_element(By.XPATH, '//*[@id="timer"]') # НАХОДИМ ОБЪЕКТ ТАЙМЕРА


    t = driver.execute_script("""
    var parent = arguments[0];
    var child = parent.firstChild;
    var ret = "";
    while(child) {
        if (child.nodeType === Node.TEXT_NODE)
            ret += child.textContent;
        child = child.nextSibling;
    }
    return ret;
    """, obj)

    time.sleep(rd(t+2,t+7)) # СПИМ НА ВРЕМЯ РАБОТЫ ТАЙМЕРА

    driver.close()

    driver.switch_to.window(driver.window_handles[0])

при остановке процесса вылезают такие сообщения:

    File "C:\Users\Schur\Desktop\Программирование\Programm_for_avtomize\script.py", line 83, in Worker
    obj = driver.find_element(By.XPATH, '//*[@id="movie_player"]/div[4]/div') # НАХОДИМ КНОПКУ ЗАПУСКА ВИДЕО
  File "C:\Users\Schur\AppData\Local\Programs\Python\Python310\lib\site-packages\selenium\webdriver\remote\webdriver.py", line 1244, in find_element
    return self.execute(Command.FIND_ELEMENT, {
  File "C:\Users\Schur\AppData\Local\Programs\Python\Python310\lib\site-packages\selenium\webdriver\remote\webdriver.py", line 422, in execute
    response = self.command_executor.execute(driver_command, params)
  File "C:\Users\Schur\AppData\Local\Programs\Python\Python310\lib\site-packages\selenium\webdriver\remote\remote_connection.py", line 421, in execute
    return self._request(command_info[0], url, body=data)
  File "C:\Users\Schur\AppData\Local\Programs\Python\Python310\lib\site-packages\selenium\webdriver\remote\remote_connection.py", line 443, in _request
    resp = self._conn.request(method, url, body=body, headers=headers)
  File "C:\Users\Schur\AppData\Local\Programs\Python\Python310\lib\site-packages\urllib3\request.py", line 78, in request
    return self.request_encode_body(
  File "C:\Users\Schur\AppData\Local\Programs\Python\Python310\lib\site-packages\urllib3\request.py", line 170, in request_encode_body
    return self.urlopen(method, url, **extra_kw)
  File "C:\Users\Schur\AppData\Local\Programs\Python\Python310\lib\site-packages\urllib3\poolmanager.py", line 375, in urlopen
    response = conn.urlopen(method, u.request_uri, **kw)
  File "C:\Users\Schur\AppData\Local\Programs\Python\Python310\lib\site-packages\urllib3\connectionpool.py", line 703, in urlopen
    httplib_response = self._make_request(
  File "C:\Users\Schur\AppData\Local\Programs\Python\Python310\lib\site-packages\urllib3\connectionpool.py", line 449, in _make_request
    six.raise_from(e, None)
  File "<string>", line 3, in raise_from
  File "C:\Users\Schur\AppData\Local\Programs\Python\Python310\lib\site-packages\urllib3\connectionpool.py", line 444, in _make_request
    httplib_response = conn.getresponse()
  File "C:\Users\Schur\AppData\Local\Programs\Python\Python310\lib\http\client.py", line 1368, in getresponse
    response.begin()
  File "C:\Users\Schur\AppData\Local\Programs\Python\Python310\lib\http\client.py", line 317, in begin
    version, status, reason = self._read_status()
  File "C:\Users\Schur\AppData\Local\Programs\Python\Python310\lib\http\client.py", line 278, in _read_status
    line = str(self.fp.readline(_MAXLINE + 1), "iso-8859-1")
  File "C:\Users\Schur\AppData\Local\Programs\Python\Python310\lib\socket.py", line 705, in readinto
    return self._sock.recv_into(b)

подскажите в чем проблема, или как ее решить. Или альтернативу. Проект не срочный, язык подойдет любой, если уж на питоне эта штука тяжело выходит, могу спокойно переписать на другом языке или с применением другой библиотеки.

Ответы

Ответов пока нет.