click() function on selenium not working in C#
I am really fed up from this problem and not finding any solution.
The problem is that I am trying to test a website using test automation in C#. For this I need to sign in, but the sign-in button is not actually a button, it's a span tag with property set 'role=button'.
I am using Selenium with Chrome web driver and using unit extensions to automate the test. The problem is whenever I run the test in Test Explorer the click event is performed, but the page does not navigate to next page, and nothing happens. However, when I set a break point and run the same test through main function it works fine.
I have to set the break point to perform click operation and perform login operation.
I am using a Visual Studio console application. Here is the pic of my web site html tag.
It's an java code you can modify it using reference of below link:-
Hope it will help you :)
From what I understood the click is performed before the page is fully loaded. Try using explicit wait and expected conditins
WebDriverWait wait = new WebDriverWait(driver, TimeSpan.FromSeconds(10)); wait.Until(ExpectedConditions.ElementToBeClickable(logInButton)).Click();
This will wait up to 10 seconds for the button to be clickable before clicking on it.
I fixed this issue by storing element in an IWebElement type variable and then click it.
IWebElement runButton = driverIE.FindElement(By.XPath("//*your XPath")); runButton.Click();
If you have Selenium.Support included in your project you can do the following