0

I'm using selenium and junit5 on JAVA. I doing test on turna.com. How to click input button on Pegasus(Text).

Airlinename Types:

  • Pegasus
  • THY
  • Anadolujet
<div class="item-domestic departure-flight rt-domestic-item flight" id="1028" style="">   
        <div class="col-sm-8">
            <div class="caption">
                <div class="airline-img-wrapper">                   
                </div>
                <div class="airline-tag-wrapper">
                    <div class="airline-name">Pegasus
                    </div>     
                </div>                
            </div> 
        </div>               
        <div class="col-sm-4 text-right amount-wrapper">
            <div class="price">               
            </div>
            <div class="button">
                <input type="button" class="from-in-button" value="Seç" txt="Seçili">
            </div>            
        </div>
</div>

My code:

WebElement airlinename= findElement(airline_name);
if(airlinename.getText()=="Pegasus")
{
    clickElement(fromBtn); //input button

}

I'm trying it :)

.airline-name[text="Pegasus"] , .from-in-button

Problem: I can not click input button to (pegasus text tag).

1 Answers1

0

To click on the <input> element with respect to the text Pegasus you need to induce WebDriverWait for the elementToBeClickable() and you can use the following Locator Strategies:

  • xpath:

    new WebDriverWait(driver, 20).until(ExpectedConditions.elementToBeClickable(By.xpath("//div[@class='airline-name' and contains(., 'Pegasus')]//following::div//input[@class='from-in-button' and @value='Seç']"))).click();
    
  • Browser Snapshot (from website):

pegasus

DebanjanB
  • 118,661
  • 30
  • 168
  • 217
  • Locate strategies is not run. I trying it. You can see site on https://www.turna.com/ucak-bileti/istanbul-sabiha-gokcen-havalimani-izmir-adnan-menderes-havalimani/2020-08-16/2020-08-23 – Nurettin ŞANSLI Aug 11 '20 at 11:35
  • i success locator. But it's be very bad locator strategy. //div[@class='airline-name' and contains(., 'Pegasus')]//parent::div//parent::div//parent::div//parent::div//div[@class="col-sm-4 text-right amount-wrapper"]//div[@class="button"]//input[@class="from-in-button"] – Nurettin ŞANSLI Aug 11 '20 at 12:03
  • @NurettinŞANSLI Did you try to use the locator from my answer? That worked for me just right. See the updated answer. – DebanjanB Aug 11 '20 at 12:15
  • This xpath find anadolujet,thy on after pegasus. I worked by adding to your xpath. – Nurettin ŞANSLI Aug 11 '20 at 15:34