条件如果元素在网站上刷新,如果不继续使用该代码



我正在尝试使此条件工作,但我得到了追溯。我想看看网站上是否存在该元素,以及是否刷新并执行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异常

相关内容

最新更新