如何使用 Selenium 和 C# 通过元素 ID 属性单击单选按钮

How to click on the radio button through the element ID attribute using Selenium and C#(如何使用 Selenium 和 C# 通过元素 ID 属性单击单选按钮)
本文介绍了如何使用 Selenium 和 C# 通过元素 ID 属性单击单选按钮的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着跟版网的小编来一起学习吧!

问题描述

我正在尝试选择一个单选按钮和输入元素,它有一个组的 idIn_Group 的值.有 4 个不同的单选按钮具有相同的 id 但不同的值,因此我正在尝试选择我正在寻找的正确的单选按钮.

I am trying to select a radio button and input element, it has an id of group and value of In_Group. There are 4 different radio buttons with the same id but different values hence I am trying to select the correct one i am looking for.

<input class="custom-radio" id="group" name="group" type="radio" value="In_Group">

我尝试过这样的事情:

driver.FindElement(By.XPath("//*[contains(@id='group' and @value='In_Group')]"))

但是找不到元素,谁能帮帮我

But the element is not found could someone help me out

推荐答案

要定位元素,您可以使用以下任一方法 定位器策略:

To locate the element you can use either of the following Locator Strategies:

  • CssSelector:

driver.FindElement(By.CssSelector("input#group[value='In_Group']"));

  • XPath:

    driver.FindElement(By.XPath("//input[@id='group' and @value='In_Group']"));
    

  • 但是,由于它是一个 <input> 元素,并且您可能会在理想情况下与之交互,因此您必须诱导 WebDriverWait 用于所需的 ElementToBeClickable() 并且您可以使用以下任一 Locator Strategies:

    However, as it is a <input> element and possibly you will interact with it ideally you have to induce WebDriverWait for the desired ElementToBeClickable() and you can use either of the following Locator Strategies:

    • CssSelector:

    new WebDriverWait(driver, TimeSpan.FromSeconds(20)).Until(ExpectedConditions.ElementToBeClickable(By.CssSelector("input.custom-radio#group[value='In_Group'][name='group']"))).Click();
    

  • XPath:

    new WebDriverWait(driver, TimeSpan.FromSeconds(20)).Until(ExpectedConditions.ElementToBeClickable(By.XPath("//input[@id='group' and @value='In_Group'][@class='custom-radio' and @name='group']"))).Click();
    

  • 这篇关于如何使用 Selenium 和 C# 通过元素 ID 属性单击单选按钮的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持跟版网!

    本站部分内容来源互联网,如果有图片或者内容侵犯了您的权益,请联系我们,我们会在确认后第一时间进行删除!

    相关文档推荐

    Custom Error Queue Name when using EasyNetQ for RabbitMQ?(使用 EasyNetQ for RabbitMQ 时自定义错误队列名称?)
    How to generate password_hash for RabbitMQ Management HTTP API(如何为 RabbitMQ 管理 HTTP API 生成密码哈希)
    Rabbitmq Ack or Nack, leaving messages on the queue(Rabbitmq Ack 或 Nack,将消息留在队列中)
    Setup RabbitMQ consumer in ASP.NET Core application(在 ASP.NET Core 应用程序中设置 RabbitMQ 消费者)
    Specify Publish timeouts in mass transit(指定公共交通中的发布超时)
    RabbitMQ asynchronous support(RabbitMQ 异步支持)