Selenium Webdriver එකට අදාලව උදව්වක් ඕන..

Seven Net

Active member
  • Jan 13, 2014
    290
    62
    28
    30
    Earth
    Selenium Webdriver එකට අදාලව උදව්වක් ඕන..

    1. ) මට ඕන Google එකේ Facebook කියල Search කරාම එන Search Result එකේන් Facebook කියන ලින්ක් එක ක්ලික් කරන් , Facebook සයිට් එකට යන විධියට හදා ගන්න. ඒක කරන්නේ කොහමද ??
    ඒ කිව්වේ , Google Result එකේන් , ඕන කරන එක සයිට් එකකට විතරක් යන්නේ කොහමද ??

    මේ පහල පින්තුරයේ තියේන්නේ දැනට ලියපු කෝඩ් එක.
    මේක දැනට ලියල තියේන්නේ කෙළින්ම Facebook යන විධියටයි. ඒත් , මට ඕන Google Search Result එකේන් යන විධියට හදන්නයි.

    2.) ඒ වගේම , මේ පහල පින්තුරයේ කෝඩ් ලියල තියේනවට වඩා , කෝඩ් ලියන්න පුලුවන් වෙන තව ක්‍රම තියේනවද ?? තියේනව නම් , ඒව ගැනත් කියන්න.

    Selenium%2BWD%2B-%2BCheckFB.PNG


    3. ) ඒ වගෙම , මේ පහල කෝඩ් එකේන් වෙන්නේ මොකක්ද කියලත් පැහැදිලි කරන්න පුලුවන්ද ??


    PHP:
    // wait until the google page shows the result
    
     WebElement myDynamicElement = (new WebDriverWait(driver, 10)).until(ExpectedConditions.presenceOfElementLocated(By.id("resultStats")));
     
    Last edited:

    ජොසී

    Well-known member
  • May 29, 2014
    5,206
    4,453
    113
    Padavi Sripura
    2. ube code eke uba Facebook gihin thiyenne google search result eken newe ne bn.
    Uba kelinma Facebook.com request karanne.

    3. Oken wenne page eka load wenakal balan inna eka. Ethakota element ekak dila kiyanawa, page ekek menna me element eka load wenakal balan inna kiyala.
     
    • Like
    Reactions: Lalakajee

    Lalakajee

    Well-known member
  • Jun 20, 2007
    3,061
    296
    83
    In my own heart
    ජොසී;21952143 said:
    2. ube code eke uba Facebook gihin thiyenne google search result eken newe ne bn.
    Uba kelinma Facebook.com request karanne.

    3. Oken wenne page eka load wenakal balan inna eka. Ethakota element ekak dila kiyanawa, page ekek menna me element eka load wenakal balan inna kiyala.

    :yes:
     

    Seven Net

    Active member
  • Jan 13, 2014
    290
    62
    28
    30
    Earth
    ජොසී;21952143 said:
    2. ube code eke uba Facebook gihin thiyenne google search result eken newe ne bn.
    Uba kelinma Facebook.com request karanne.

    3. Oken wenne page eka load wenakal balan inna eka. Ethakota element ekak dila kiyanawa, page ekek menna me element eka load wenakal balan inna kiyala.

    2. ) Ow bn , e nisa thamai mata ona eka krnne khmda kyla dana ganna.. Kohamada Google Search Result eken yanne ??

    3. ) Eth , anith widiyata karath Page eka load welama neh , next spet ekata yanne ?? ethakota meka danne ai ??
     

    pulgaka

    Well-known member
  • May 26, 2015
    1,121
    1
    357
    83
    උබ අරන් තියෙන සමහර Id වැරදි මචන්.

    Ex:- උබ මැනුවල් Google.lk එකට ගිහින් අර එන තඩි Search Bar එකේ Facebook කියලා Type කරනකොටම උබට පෙනෙයි Search Bar එක google Site එකේ උඩට යනවා එතකොට එතන තියෙන id එක වෙනස් මචන්

    උබ අරන් තියෙන්නේ sb_ifc0 කියල එකක් එත් හරි එක lst-ib

    (පුළුවන් නම් Selenium IDE එකෙන් Record කරලා id ටික මුලින් අදුන ගනින් එතකොට Script එක ලියන්න ලේසී ) :yes:

    මේ මම ලියපු කෝඩ් එක, මේක නම් වැඩ කරනවා :D

    4dO5CE.png


    මම මේකේ Thread.sleep Use කරලා නෑ මචන් මොකද Automation Script එකක Thread.sleep Use කරන්න ඕන අඩුවෙන් නිසා ;) මම එකට Use කරලා තියෙන්නේ WebDriver Wait දෙකක් (කොමෙන්ට් කරලා තියෙන්නේ Thread.sleep Use කරනවා නම් ඒ කරන විදිහ ) :D

    (3) WebElement myDynamicElement = (new WebDriverWait(driver, 10)).until(ExpectedConditions.presenceOfElementLocated(By.id("resultStats")));

    Selenium WebDriver වල wait type දෙකක් තියෙනවා

    • Implicit Wait
    • Explicit Wait

    මේ ලියලා තියෙන්නේ Explicit Wait එකක්, මේකෙදි අපිට පුළුවන් අදාල Element එක locate වෙනකන් Drive එකට Condition එකක් දාන්න. එතකොට Drive එක හැමවෙලේම ඒ Condition එක True වෙනකම් බලනවා, එහෙම දාන්න පුළුවන් Condition ගොඩක් තියෙනවා

    1. alertIsPresent()
    2. elementSelectionStateToBe()
    3. elementToBeClickable()
    4. elementToBeSelected()
    5. frameToBeAvaliableAndSwitchToIt()
    6. invisibilityOfTheElementLocated()
    7. invisibilityOfElementWithText()
    8. presenceOfAllElementsLocatedBy()
    9. presenceOfElementLocated()
    10. textToBePresentInElement()
    11. textToBePresentInElementLocated()
    12. textToBePresentInElementValue()
    13. titleIs()
    14. titleContains()
    15. visibilityOf()
    16. visibilityOfAllElements()
    17. visibilityOfAllElementsLocatedBy()
    18. visibilityOfElementLocated()


    ජය..
     

    pulgaka

    Well-known member
  • May 26, 2015
    1,121
    1
    357
    83
    උබේ සමහර id වැරදි මචන්

    Ex- උබ මැනුවල් Google.lk එකට ගහින් අර එන තඩි Search bar එකේ Facebook Type කියලා කරනකොටම උබට පෙනෙයි ඒ Search bar එක Site එකේ උඩටම යනවා. අන්න එතකොට id වෙනස් වෙනවා බන්

    මේ කෝඩ් එක නම් හරිගියා :D

    ir2gq8.png


    Thread.sleep දෙන්නේ නැතිව Webdriver Wait දීලා තියෙන්නේ මන් මේකේ.මොකද Automation Script එකක් ලියනකොට Thread.sleepදෙන්නේ ගොඩක් අඩුවෙන් නිසා
     
    Last edited:

    Seven Net

    Active member
  • Jan 13, 2014
    290
    62
    28
    30
    Earth
    උබේ සමහර id වැරදි මචන්

    Ex- උබ මැනුවල් Google.lk එකට ගහින් අර එන තඩි Search bar එකේ Facebook Type කියලා කරනකොටම උබට පෙනෙයි ඒ Search bar එක Site එකේ උඩටම යනවා. අන්න එතකොට id වෙනස් වෙනවා බන්

    මේ කෝඩ් එක නම් හරිගියා :D

    ir2gq8.png


    Thread.sleep දෙන්නේ නැතිව Webdriver Wait දීලා තියෙන්නේ මන් මේකේ.මොකද Automation Script එකක් ලියනකොට Thread.sleepදෙන්නේ ගොඩක් අඩුවෙන් නිසා

    Ela Elama !!

    Meka wada kara Hariyatama !!

    ThnQ Very Much Saho !! :D :D
     

    Average-Guy

    Well-known member
  • Jul 9, 2017
    1,349
    704
    113
    : ශ්‍රී ලංකා :
    code line 14 තියන විදිහට උඹ 'Facebook' string එක යවන්නේ 'sb_ifc0' කියන id එක තියන tag එකටනේ..

    but මචං එ්ක input tag ‍එකේ id එක නෙවෙයි. :no:
    එ්ක div එකක්, හරියට බලපන්.

    code line 14 replace කරපන් මෙහෙම,

    driver.findElement(By.name("q")).sendKeys("Facebook"); :yes:

    ඊලගට click කරන එකේ name eka "btnK" කරපන්.

    (උඹ browser eke inspector එක use කරපන් names, id හොයන්න.)

    line 17 එපා! :oo: ඒකෙන් ‍කොහොමත් ‍facebook.com load වෙනවා

    දැන් results උඩ ක්ලික් කරන්න මොකක් හරි ක්‍රමයක් දාපන්.

     

    Seven Net

    Active member
  • Jan 13, 2014
    290
    62
    28
    30
    Earth
    code line 14 තියන විදිහට උඹ 'Facebook' string එක යවන්නේ 'sb_ifc0' කියන id එක තියන tag එකටනේ..

    but මචං එ්ක input tag ‍එකේ id එක නෙවෙයි. :no:
    එ්ක div එකක්, හරියට බලපන්.

    code line 14 replace කරපන් මෙහෙම,

    driver.findElement(By.name("q")).sendKeys("Facebook"); :yes:

    ඊලගට click කරන එකේ name eka "btnK" කරපන්.

    (උඹ browser eke inspector එක use කරපන් names, id හොයන්න.)

    line 17 එපා! :oo: ඒකෙන් ‍කොහොමත් ‍facebook.com load වෙනවා

    දැන් results උඩ ක්ලික් කරන්න මොකක් හරි ක්‍රමයක් දාපන්.


    Ela Ela !!

    ThanQ Very Much Bro !! :D