当前位置: 首页 > 知识库问答 >
问题:

如何使用C#for Selenium选中多个复选框

厍建义
2023-03-14

当试图使用C#运行硒测试时,我遇到了一个问题,无法检查这两个“复选框”。

这是我的第一个复选框,它确实工作并检查box。驱动程序。FindElement(By.XPath("//tag[@for='LegitimateCompany协议CheckBox']")。单击();

但是,如果我简单地使用另一个复选框的标签,即“TermsOfServiceCheckBox”,它不会选中该框,但它实际上打开了一个链接,因为此复选框在措辞中有2个超链接。

例如,如果我尝试使用:driver。FindElement(By.XPath(“//label[@for='TermsOfServiceCheckBox']”)。单击();这不会选中该框,它实际上会打开/服务条款的链接。

这是我需要检查的两个复选框的代码。

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

共有1个答案

丁善
2023-03-14

在这种情况下,我们不需要点击标签标签。实际复选框是输入标记。尝试Xpath as::driver。FindElement(By.Id(“RegalizateCompanyAgreementCheckBox”))。单击();或者司机。FindElement(By.XPath(“//input[@id='realizatecompanyagreementcheckbox']”)。单击();

以下是等待:-

var wait = new WebDriverWait(driver, new TimeSpan(0, 0, 120));
            WebElement element = wait.until(ExpectedConditions.ElementIsVisible(By.Id("LegitimateCompanyAgreementCheckBox")));
            element.Click();
 类似资料:
  • 我正在使用React、GraphQL、Apollo创建多个可选复选框。 如果选中,我想进行查询,插入查询和取消选中,删除查询(我只想为选中/删除的项目生成查询) 现在我正在使用变异技术,但我有一个问题,所有的东西都被删除,然后被插入。 我只想为选定/删除的项目生成查询。如何修复它? 我的代码如下。 const handleCollection=(名称:string,arr:Array)= 突变更新

  • 首先,我试图使选择所有复选框,如果我单击表头中的选择所有复选框,整个表行将选择并显示一个复选框反向消息,即我选择了多少复选框。这里的问题是,如果我单击select all复选框,反向消息不会显示楼上的表,即我选择了多少行。 其次,如果我从任何列中筛选任何数字,相同的数字将显示同一列中有多少行具有相同的数字。如果我选中了所有复选框,那么反向消息将显示我选中了多少行复选框。这里,问题是显示整个表行计数

  • 问题内容: 如何使用jQuery Ajax Post传递多个复选框 这是ajax功能 这是我的表格 问题答案: 从jQuery的POST文档(第3个示例): 因此,我只需要遍历复选框并构建数组即可。就像是

  • 问题内容: 我想选择,,从多个选择其中有10个选项。我只想选择这三个选项。 HTML代码: selenium键代码: 我尝试使用此代码。使用此代码,我可以选择第一个选项,即“ P0_ENGLISH”。但是,选择第一个选项后,我得到一个错误: 问题答案: 要从 Multi Select 元素中选择多个 选项 ,可以使用 ActionChains 模拟 Control单击* ,如下所示: *

  • 问题内容: 我如何在PHP 中检查是否选中a ? 问题答案: 如果选中该复选框,则将传递该复选框的值。否则,该字段不会在HTTP帖子中传递。

  • 我正在使用DefaultTableModel,如下所示: 现在我想在“Selected”列中仅使一个复选框可选。这怎么能做到。我也试过下面的方法,但它不起作用。