Selenium Webdriver,单击不起作用的按钮

时间:2019-05-15 14:30:42

标签: java selenium selenium-webdriver

在自动化过程中单击两个按钮时出现两个问题

第一位:具有以下详细信息的查看按钮

<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>

页面上有几个VIEW按钮,但它们的切换内容有所不同(它们分别具有数字1,2,3,4),我只需要选择第一个按钮并单击

第二个:

在单击“视图”后,我还要单击带有以下代码的“继续”按钮

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

我的主要问题是《第一密码》,但是如果我能同时获得这两个方面的帮助,我将很高兴。我无法点击“第一个查看”按钮

我已经在线尝试了一些示例,但是它们对我没有帮助

我希望能够单击“查看”和“继续”按钮

代码:

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();

3 个答案:

答案 0 :(得分:0)

尝试使用css选择器或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();

答案 1 :(得分:0)

您可以使用此xpath单击 VIEW 按钮:

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

要单击“继续”按钮,您可以尝试使用以下xpath:

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

答案 2 :(得分:0)

我已通过使用此

修复了该问题

WebElement元素= driver.findElement(By.xpath(“ // button [text()='VIEW'and @ data-target ='。toggle-content1'and @ aria-controls ='toggle-content1']] “));
            JavascriptExecutor执行程序=(JavascriptExecutor)驱动程序;             executor.executeScript(“ arguments [0] .click();”,element);