按钮是可点击的,但不会进入下一页 - Selenium

问题描述 投票:0回答:1

我在点击按钮时遇到问题。我有多个场景,在每个场景中我应该点击这个按钮,当我点击这个按钮时,我会带我到另一个页面。当我多次运行测试时,此按钮随机失败。例如:我运行单元测试所有场景都工作但其中一个失败我重复测试所有场景成功但我有一个新的失败场景

此错误,因为该按钮未重定向到下一页

Message: Test method BnI.UITests.Register.CancelOfficialInfoTest threw exception: 
OpenQA.Selenium.NoSuchElementException: Unable to locate element: (.//*[normalize-space(text()) and normalize-space(.)='Name:'])[1]/following::input[1]

我用来点击按钮的方法

new WebDriverWait(driver, TimeSpan.FromSeconds(time)).Until(SeleniumExtras.WaitHelpers.ExpectedConditions.ElementToBeClickable(By.XPath("//button[contains(text(),'Proceed')]"))).Click();

HTML:

<div class="col-xs-12 no-padding-sides">
<div class="col-xs-8 col-xs-offset-4 no-padding-sides bottom-actions">
   <button class="btn custom-btn custom-blue" type="submit">
   Proceed
   </button>
   <button type="button" class="btn custom-btn custom-grey" (click)="cancelRegistration()"> Cancel </button>
</div>
c# selenium selenium-webdriver xpath webdriver
1个回答
-1
投票

根据您与click()共享的html元素,文本为Proceed,您可以使用以下解决方案:

  • XPathnew WebDriverWait(driver, TimeSpan.FromSeconds(time)).Until(SeleniumExtras.WaitHelpers.ExpectedConditions.ElementToBeClickable(By.XPath("//button[@class='btn custom-btn custom-blue'][normalize-space()='Proceed']"))).Click();
© www.soinside.com 2019 - 2024. All rights reserved.