ошибка при работе кода на python selenium
Написал небольшой скрипт с автоматизацией, но в одной функции почему то скрипт не находит нужную кнопку... Точнее не "ненаходит", а просто виснет, так как вылетала бы ошибка "объект не найден" однако при работе скрипта она не появляется.
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)
подскажите в чем проблема, или как ее решить. Или альтернативу. Проект не срочный, язык подойдет любой, если уж на питоне эта штука тяжело выходит, могу спокойно переписать на другом языке или с применением другой библиотеки.
Источник: Stack Overflow на русском