简体   繁体   中英

Selenium Webdriver, clicking a button not working

I am having two issues in clicking two buttons during my automation

First : A View button which have the following Details

<button class="veiw-btn" data-toggle="collapse" data-target=".toggle-content1" aria-expanded="false" aria-controls="toggle-content1" ng-click="gotoAnchor(flightResult.FlightId)">VIEW</button>

There are several VIEW buttons on the page but they are differentiated with the toggle-content (they have numbers 1,2,3,4) I just need to select the first one and click on it

Second :

After clicking the View i want to also click the Continue Button with the following code

<div class="text-center">
    <button class="flight-book-btn" type="button" ng-click="select(false, flightResult);">
     <span>Continue</span>
     </button>
</div>

My Major issue is the First Code but if i can get help with both i will be glad . I have not been able to click on the First VIEW Button

i have tried some samples online but they have not worked for me

I expect to be able to click the VIEW and Continue Buttons

CODE:

driver.manage().timeouts().implicitlyWait(60, TimeUnit.SECONDS);     
log.debug("Fastest Sort Available "); 
log.debug("Now about to click VIEW Airline Details "); 
// driver.findElement(By.xpath("//button[text()='VIEW' and @data-target='.toggle-content1' and @aria-controls='toggle-content1']")).click();; 
driver.findElement(By.cssSelector("button[class=\"veiw-btn\"][data-target='.toggle-content1'']")).click();

Try using the css selector or Xpath

CSS:

driver.FindElement(By.CssSelector("button[class="veiw-btn"][data-target='.toggle-content1']").Click();

xpath:

driver.FindElement(By.XPath("//button[@class='veiw-btn'][@data-target='.toggle-content1']").Click();

You can use this xpath to click on VIEW button :

//button[text()='VIEW' and @data-target='.toggle-content1' and @aria-controls='toggle-content1']

For clicking on Continue button you can try with this xpath :

//span[text()='Continue']/parent::button[@class='flight-book-btn']

I have fixed this by using this

WebElement element= driver.findElement(By.xpath("//button[text()='VIEW' and @data-target='.toggle-content1' and @aria-controls='toggle-content1']"));
JavascriptExecutor executor = (JavascriptExecutor) driver; executor.executeScript("arguments[0].click();", element);

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM