我正在尝试使此条件工作,但我得到了追溯。我想看看网站上是否存在该元素,以及是否刷新并执行redeem_func()
以及是否根本不存在该元素我想不执行err_reddem_func()
并继续执行此操作顺便说一句,我不知道它是否相关,但是如果网页上没有错误,它将重定向到最后一步网站,并将URL保存到TXT。
Exception in thread Thread-6:
Traceback (most recent call last):
File "C:UsersluluAppDataLocalProgramsPythonPython37-32libthreading.py", line 917, in _bootstrap_inner
self.run()
File "C:UsersluluAppDataLocalProgramsPythonPython37-32libthreading.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:UsersluluAppDataLocalProgramsPythonPython37-32libsite-packagesseleniumwebdriverremotewebdriver.py", line 564, in find_element_by_class_name return self.find_element(by=By.CLASS_NAME, value=name)
File "C:UsersluluAppDataLocalProgramsPythonPython37-32libsite-packagesseleniumwebdriverremotewebdriver.py", line 978, in find_element
'value': value})['value'] File "C:UsersluluAppDataLocalProgramsPythonPython37-32libsite-packagesseleniumwebdriverremotewebdriver.py", line 321, in execute
self.error_handler.check_response(response)
File "C:UsersluluAppDataLocalProgramsPythonPython37-32libsite-packagesseleniumwebdriverremoteerrorhandler.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()
替换以下行
if err_redeem.is_displayed() and err_redeem.is_enabled():
if (len(driver.find_elements_by_class_name('error'))>0):
您正在获得nosuchelement异常