AMcoder - javascript, python, java, html, php, sql

ինչպես ստեղծել իմ մեթոդը, որն օգտագործում է սպասեք: Մինչև անտեսեք բացառությունները սելենի վեբ դրայվերում

Ես ունեմ մի մեթոդ, որը

private boolean findElements(
                                  String xpath,
                                  int timeOut ) {

        WebDriverWait wait = new WebDriverWait( driver, timeOut );

        try {
            if( wait.until( ExpectedConditions.visibilityOfElementLocated( By.xpath( xpath ) ) ) != null ) {
                return true;
            } else {
                return false;
            }
        } catch( NoSuchElementException e ) {
            e.printStackTrace();
            return false;
        }

    }

այն վերադարձնում է true, երբ տարրը գտնված է, բայց բացառություն է գցում, երբ տարրը չի գտնվել, ինչպես կարող եմ մեթոդը դարձնել false՝ բացառության նետման փոխարեն, կամ կա՞ ավելի լավ միջոց կամ մեթոդ, որը բուլյան է, որը կարող է անել իմ աշխատանքը: .

Հարգանքներով


  • Կարծում եմ, որ else բլոկը ձեզ նույնիսկ պետք չէ.. պարզապես բռնեք բացառությունը, նույնիսկ մի տպեք այն... վերադարձրեք կեղծ 05.09.2014
  • Փորձե՞լ եք բռնել TimeoutException, այլ ոչ թե NoSuchElementException: 05.09.2014
  • այո, դու ճիշտ ես, ես նույնիսկ կարիք չունեմ, որ կոդը երբեք չհասնի else արգումենտին, և այո, ես փորձել եմ timeoutException-ը, խնդիրն այն է, որ իմ գրած if պայմանը երբեք չի վերադարձնի զրոյական, քանի որ այն հիմնականում բացառություն է անում, երբ տարրը չի գտնվել: Ինձ հետաքրքրում է, թե կա՞ մեթոդի նպատակին հասնելու ավելի լավ միջոց: 05.09.2014
  • @AliHamadi Ես պատկերացնում եմ, որ try { wait.until( ... ); return true; } catch(TimeoutException ex) { return false; }-ը կարող է աշխատել, եթե wait.until( ... )-ը գցի TimeoutException՝ տեղեկացնելով, որ տարրեր չեն գտնվել: 05.09.2014
  • Շատ շնորհակալ եմ Ջեյ !!! այն աշխատեց, ճիշտն ասած, ես այնքան էլ լավ չեմ բացառությունների սխալը գցելու և դրանց աշխատանքի մասին, ես մտածում էի, որ յուրաքանչյուր մեթոդ գցում է որոշակի բացառության սխալ, որը ես չեմ կարող փոխել, և ես մտածեցի, որ NoSuchElementException-ը միակն է, որը կարող եմ օգտագործել: , շատ շնորհակալ եմ Ջեյ 05.09.2014

Պատասխանները:


1

Ջե Հեոն Լին այս հարցին պատասխանեց

  { 
    wait.until( ... ); return true;
  }
 catch(TimeoutException ex)
  { return false; } //might work if the wait.until( ... ) throws a TimeoutException

հայտնելով, որ ոչ

12.09.2014
  • Դուք կցանկանաք բռնել WebDriverTimeoutException 22.11.2016
  • Նոր նյութեր

    Օգտագործելով Fetch Vs Axios.Js-ը՝ HTTP հարցումներ կատարելու համար
    JavaScript-ը կարող է ցանցային հարցումներ ուղարկել սերվեր և բեռնել նոր տեղեկատվություն, երբ դա անհրաժեշտ լինի: Օրինակ, մենք կարող ենք օգտագործել ցանցային հարցումը պատվեր ներկայացնելու,..

    Տիրապետել հանգստության արվեստին. մշակողի ուղեցույց՝ ճնշման տակ ծաղկելու համար
    Տիրապետել հանգստության արվեստին. մշակողի ուղեցույց՝ ճնշման տակ ծաղկելու համար Ինչպե՞ս հանգստացնել ձեր միտքը և աշխատեցնել ձեր պրոցեսորը: Ինչպես մնալ հանգիստ և զարգանալ ճնշման տակ...

    Մեքենայի ուսուցում բանկային և ֆինանսների ոլորտում
    Բարդ, խելացի անվտանգության համակարգերը և հաճախորդների սպասարկման պարզեցված ծառայությունները բիզնեսի հաջողության բանալին են: Ֆինանսական հաստատությունները, մասնավորապես, պետք է առաջ մնան կորի..

    Ես AI-ին հարցրի կյանքի իմաստը, այն ինչ ասում էր, ցնցող էր:
    Այն պահից ի վեր, երբ ես իմացա Արհեստական ​​ինտելեկտի մասին, ես հիացած էի այն բանով, թե ինչպես է այն կարողանում հասկանալ մարդկային նորմալ տեքստը, և այն կարող է առաջացնել իր սեփական արձագանքը դրա..

    Ինչպես սովորել կոդավորումը Python-ում վագրի պես:
    Սովորելու համար ծրագրավորման նոր լեզու ընտրելը բարդ է: Անկախ նրանից, թե դուք սկսնակ եք, թե առաջադեմ, դա օգնում է իմանալ, թե ինչ թեմաներ պետք է սովորել: Ծրագրավորման լեզվի հիմունքները, դրա..

    C++-ի օրական բիթ(ե) | Ամենաերկար պալինդրոմային ենթաշարը
    C++ #198-ի ամենօրյա բիթ(ե), Ընդհանուր հարցազրույցի խնդիր. Ամենաերկար պալինդրոմային ենթատող: Այսօր մենք կանդրադառնանք հարցազրույցի ընդհանուր խնդրին. Ամենաերկար palindromic substring...

    Kydavra ICAReducer՝ ձեր տվյալների ծավալայինությունը նվազեցնելու համար
    Ի՞նչ է ICAReducer-ը: ICAReducer-ն աշխատում է հետևյալ կերպ. այն նվազեցնում է նրանց միջև բարձր փոխկապակցված հատկանիշները մինչև մեկ սյունակ: Բավականին նման է PCAreducer-ին, չնայած այն..