i have a UI as follows and im trying to automate this.
my html content is as follows:
<div class="medium-5 columns tableheading-td">
<ul id="ContentPlaceHolder1_QuetionListPlaceHolder_BigFiftyPersonalityQuestion1_BigFiftyPersonalityQuestionItem1221754_rdbListAnswers" class="assessment-main-layout tabled-list" onchange="ChangeTextColorForSelectedRadio(this);">
<li>
<input id="ContentPlaceHolder1_QuetionListPlaceHolder_BigFiftyPersonalityQuestion1_BigFiftyPersonalityQuestionItem1221754_rdbListAnswers_0" type="radio" name="ctl00$ctl00$ContentPlaceHolder1$QuetionListPlaceHolder$BigFiftyPersonalityQuestion1$BigFiftyPersonalityQuestionItem1221754$rdbListAnswers"
value="0">
<label for="ContentPlaceHolder1_QuetionListPlaceHolder_BigFiftyPersonalityQuestion1_BigFiftyPersonalityQuestionItem1221754_rdbListAnswers_0"> </label>
</li>
<li>
<input id="ContentPlaceHolder1_QuetionListPlaceHolder_BigFiftyPersonalityQuestion1_BigFiftyPersonalityQuestionItem1221754_rdbListAnswers_1" type="radio" name="ctl00$ctl00$ContentPlaceHolder1$QuetionListPlaceHolder$BigFiftyPersonalityQuestion1$BigFiftyPersonalityQuestionItem1221754$rdbListAnswers"
value="1">
<label for="ContentPlaceHolder1_QuetionListPlaceHolder_BigFiftyPersonalityQuestion1_BigFiftyPersonalityQuestionItem1221754_rdbListAnswers_1"> </label>
</li>
<li>
<input id="ContentPlaceHolder1_QuetionListPlaceHolder_BigFiftyPersonalityQuestion1_BigFiftyPersonalityQuestionItem1221754_rdbListAnswers_2" type="radio" name="ctl00$ctl00$ContentPlaceHolder1$QuetionListPlaceHolder$BigFiftyPersonalityQuestion1$BigFiftyPersonalityQuestionItem1221754$rdbListAnswers"
value="2" style="">
<label for="ContentPlaceHolder1_QuetionListPlaceHolder_BigFiftyPersonalityQuestion1_BigFiftyPersonalityQuestionItem1221754_rdbListAnswers_2"> </label>
</li>
<li>
<input id="ContentPlaceHolder1_QuetionListPlaceHolder_BigFiftyPersonalityQuestion1_BigFiftyPersonalityQuestionItem1221754_rdbListAnswers_3" type="radio" name="ctl00$ctl00$ContentPlaceHolder1$QuetionListPlaceHolder$BigFiftyPersonalityQuestion1$BigFiftyPersonalityQuestionItem1221754$rdbListAnswers"
value="3">
<label for="ContentPlaceHolder1_QuetionListPlaceHolder_BigFiftyPersonalityQuestion1_BigFiftyPersonalityQuestionItem1221754_rdbListAnswers_3"> </label>
</li>
<li>
<input id="ContentPlaceHolder1_QuetionListPlaceHolder_BigFiftyPersonalityQuestion1_BigFiftyPersonalityQuestionItem1221754_rdbListAnswers_4" type="radio" name="ctl00$ctl00$ContentPlaceHolder1$QuetionListPlaceHolder$BigFiftyPersonalityQuestion1$BigFiftyPersonalityQuestionItem1221754$rdbListAnswers"
value="4">
<label for="ContentPlaceHolder1_QuetionListPlaceHolder_BigFiftyPersonalityQuestion1_BigFiftyPersonalityQuestionItem1221754_rdbListAnswers_4"> </label>
</li>
</ul>
</div>
im trying to click my radio buttons as follows:
IWebElement webElement= CommonProperties.driver.FindElement(By.Id("ContentPlaceHolder1_QuetionListPlaceHolder_BigFiftyPersonalityQuestion1_BigFiftyPersonalityQuestionItem1221754_rdbListAnswers_2"));
webElement.ClickElement();
but it says element is display false.
What is he reason for this and how can i fix this?
i have tried with xpath:
IWebElement webElement= CommonProperties.driver.FindElement(By.XPath("//*[@id='ContentPlaceHolder1_QuetionListPlaceHolder_BigFiftyPersonalityQuestion1_BigFiftyPersonalityQuestionItem1221754_rdbListAnswers_0']"));
(having two xpath for radio button and label. even though getting same issue.
//*[@id="ContentPlaceHolder1_QuetionListPlaceHolder_BigFiftyPersonalityQuestion1_BigFiftyPersonalityQuestionItem1221754_rdbListAnswers_0"]
//*[@id="ContentPlaceHolder1_QuetionListPlaceHolder_BigFiftyPersonalityQuestion1_BigFiftyPersonalityQuestionItem1221754_rdbListAnswers"]/li[1]/label
OpenQA.Selenium.ElementNotVisibleException HResult=0x80131500
Message=element not visible (Session info: chrome=72.0.3626.109)
(Driver info: chromedriver=2.37.544315 (730aa6a5fdba159ac9f4c1e8cbc59bf1b5ce12b7),platform=Windows NT 10.0.10586 x86_64) Source=WebDriverStackTrace: at OpenQA.Selenium.Remote.RemoteWebDriver.UnpackAndThrowOnError(Response errorResponse) at OpenQA.Selenium.Remote.RemoteWebDriver.Execute(String driverCommandToExecute, Dictionary
2 parameters) at OpenQA.Selenium.Remote.RemoteWebElement.Execute(String commandToExecute, Dictionary
2 parameters) at OpenQA.Selenium.Remote.RemoteWebElement.Click() at SeleniumBL.SeleniumSetMethods.ClickElement(IWebElement element) in D:\SourceControl\Test\Test \SeleniumHR\SeleniumHR\SeleniumBL\SeleniumSetMethods.cs:line 53 at SeleniumHR.Models.Assesment.BigFiftyAssesment.AssesmentPlay() in D:\SourceControl\Test\Test \SeleniumHR\SeleniumHR\SeleniumHR\Models\Assesment\BigFiftyAssesment.cs:line 47 at SeleniumHR.Models.AssesmentBase.AssesmentStart() in D:\SourceControl\Test\Test \SeleniumHR\SeleniumHR\SeleniumHR\Models\Assesment\AssesmentBase.cs:line 216 at SeleniumHR.Models.Assesment.BigFiftyAssesment.ExecuteAssesment() in D:\SourceControl\Test\Test \SeleniumHR\SeleniumHR\SeleniumHRM\Models\Assesment\BigFiftyAssesment.cs:line 24 at SeleniumHR.Models.Assesment.AssesmentFactory.AssesmentPlay(String AssesmentType) in D:\SourceControl\Test\Test \SeleniumHRM\SeleniumHR\SeleniumHR\Models\Assesment\AssesmentFactory.cs:line 48 at SeleniumHRM.Program.Main(String[] args) in D:\SourceControl\Test\Test \SeleniumHR\SeleniumHR\SeleniumHR\Program.cs:line 49