Я пытаюсь заставить это условно работать, но я получаю трассировку.Я хочу посмотреть, присутствует ли элемент на веб-сайте и обновлен ли он и выполнить redeem_func()
, а если элемент вообще отсутствует, я хочу не выполнять err_reddem_func()
и перейти к этому. Кстати, я нене знает, имеет ли это отношение, но если на веб-странице не было ошибок, он перенаправляет на сайт последнего шага и сохраняет URL-адрес в txt.
Exception in thread Thread-6:
Traceback (most recent call last):
File "C:\Users\lulu\AppData\Local\Programs\Python\Python37-32\lib\threading.py", line 917, in _bootstrap_inner
self.run()
File "C:\Users\lulu\AppData\Local\Programs\Python\Python37-32\lib\threading.py", line 865, in run
self._target(*self._args, **self._kwargs)
File "c:/Users/lulu/Desktop/s/s/threaddo.py", line 352, in execute_chrome
s(elem[0], elem[1], elem[2])
File "c:/Users/lulu/Desktop/s/s/threaddo.py", line 323, in s
err_redeem_func()
File "c:/Users/lulu/Desktop/s/s/threaddo.py", line 314, in err_redeem_func
err_redeem = driver.find_element_by_class_name('error')
File "C:\Users\lulu\AppData\Local\Programs\Python\Python37-32\lib\site-packages\selenium\webdriver\remote\webdriver.py", line 564, in find_element_by_class_name return self.find_element(by=By.CLASS_NAME, value=name)
File "C:\Users\lulu\AppData\Local\Programs\Python\Python37-32\lib\site-packages\selenium\webdriver\remote\webdriver.py", line 978, in find_element
'value': value})['value'] File "C:\Users\lulu\AppData\Local\Programs\Python\Python37-32\lib\site-packages\selenium\webdriver\remote\webdriver.py", line 321, in execute
self.error_handler.check_response(response)
File "C:\Users\lulu\AppData\Local\Programs\Python\Python37-32\lib\site-packages\selenium\webdriver\remote\errorhandler.py", line 242, in check_response
raise exception_class(message, screen, stacktrace)
selenium.common.exceptions.NoSuchElementException: Message: no such element: Unable to locate element: {"method":"class name","selector":"error"} (Session info: chrome=74.0.3729.131)
(Driver info: chromedriver=74.0.3729.6 (255758eccf3d244491b8a1317aa76e1ce10d57e9-refs/branch-heads/3729@{#29}),platform=Windows NT 10.0.17763 x86_64)
Мой код
def redeem_func():
capHome = cap_home()
print("redeem_func")
driver.execute_script("redemptionValidation(\"" + capHome + "\")")
time.sleep(10)
redeem_func()
time.sleep(1)
print(driver.current_url)
def err_redeem_func():
err_redeem = driver.find_element_by_class_name('error')
try:
if err_redeem.is_displayed() and err_redeem.is_enabled():
driver.refresh()
redeem_func()
except NoSuchElementException:
pass
err_redeem_func()
print(driver.current_url)
print("SAVING TO TXT")
finalCode = driver.current_url
f = open('t.txt','a')
f.write('\n' + finalCode)
f.close()