lundi 18 octobre 2021

How to check multiple boxes using C# for Selenium

I am having a problem being able to check both of these "checkboxes" when trying to run a test for Selenium using C#.

Here is what I have for the first checkbox and that does work and checks the box. driver.FindElement(By.XPath("//label[@for='LegitimateCompanyAgreementCheckBox']")).Click();

However if I simply use the label for the other checkbox, which is "TermsOfServiceCheckBox", it does not check the box, but it actually opens up a link because the this checkbox has 2 hyperlinks inside the wording.

For example if I try using: driver.FindElement(By.XPath("//label[@for='TermsOfServiceCheckBox']")).Click(); This will not check the box, it will actually open up the link for /terms-of-service.

Here is the code for both checkboxes I need to check.

<div class="asp-checkbox">
    <span class="checkbox gaClick" data-category="companySignup" data-action="legitimateCompanyChecked" data-noninteraction="true">
        <input id="LegitimateCompanyAgreementCheckBox" type="checkbox" name="ctl00$MainContent$LegitimateCompanyAgreementCheckBox">
        <label for="LegitimateCompanyAgreementCheckBox">I am a legitimate estate sale company or auction company and have the documents necessary to conduct business in my state (if any).</label>
    </span>
    <label for="LegitimateCompanyAgreementCheckBox"></label>
    <span id="LegitimateCompanyAgreementCheckBox_requredCheckBoxValidor" controltovalidate="LegitimateCompanyAgreementCheckBox" style="color:Red;visibility:hidden;">* 
    </span>
</div>


<span class="checkbox gaClick" data-category="companySignup" data-action="agreeToTermsChecked" data-noninteraction="true">
    <input id="TermsOfServiceCheckBox" type="checkbox" name="ctl00$MainContent$TermsOfServiceCheckBox">
        <label for="TermsOfServiceCheckBox">I agree to EstateSales.NET's <a href="/terms-of-service" class="gaClick" data-category="companySignup" data-action="termsOfServiceClicked" target="_blank">Terms of Service</a>
and <a href="/privacy-policy" class="gaClick" data-category="companySignup" data-action="privacyPolicyClicked" target="_blank">Privacy Policy</a>.
    </label>
</span>



Aucun commentaire:

Enregistrer un commentaire