【问题标题】:How to read ::after attributes of a radio button element using Selenium WebDriver如何使用 Selenium WebDriver 读取单选按钮元素的 ::after 属性
【发布时间】:2017-04-27 21:52:27
【问题描述】:

我一直在尝试使用 selenium webdriver (Java) 读取具有 ::before 和 ::after 等功能的 html 标记内的内容,但我很难阅读这些内容,因为它们是动态的。

例如,在下面的 HTML 代码中,

<label class="radio radio-label-horizontal control-label" for="id_Fruit_1">
  <input value="Banana" name="Fruit" id="id_Fruit_1" data-field-name="Choices" data-field-type="Structured" tabindex="2" type="radio">
  <span class="radio-label">
  ::before
  Banana
  ::after
  </span>
</label>

这是一个选中单选按钮的代码 sn-p,但是当我将单选按钮切换到另一个选项时,它只是从“span”元素中删除了 ::after,并且它没有对“输入”元素。

但是当我执行下面的 java selenium 代码时,我只看到'Banana',我期望得到'::before Banana ::after'

driver.findElement(By.cssSelector(".radio-label")).getText();

您能否解释一下如何使用 selenium 确定我的单选按钮是否被选中?

【问题讨论】:

    标签: java html selenium-webdriver css-selectors pseudo-element


    【解决方案1】:

    你可以通过 isSelected() 方法判断单选按钮是否被选中。

    列表radioBtn = driver.findElements(); 布尔选择=假; selected=radioBtn.get(0).isSelected() 无论按钮是否被选中,都将返回真/假。 如果(选择) //执行操作

    【讨论】:

      【解决方案2】:

      您只能将文本传递到您的应用程序中,而不是 HTML 标签,如跟随和祖先

      【讨论】:

        猜你喜欢
        • 2019-08-31
        • 2023-01-22
        • 2020-10-08
        • 2020-01-24
        • 2020-10-21
        • 2014-11-17
        • 2019-07-18
        • 2018-11-03
        • 1970-01-01
        相关资源
        最近更新 更多