【问题标题】:Select/click on checkbox by labelin Selenium通过 labelin Selenium 选择/单击复选框
【发布时间】:2023-04-02 01:52:02
【问题描述】:

我有以下 html 代码并想按标签选择复选框:

  <input type="checkbox" onclick="searchResult(this,'8')" id="catalog-8"/>&nbsp;
    <label for="catalog-8">
    my-assortment </label>

在上面的示例中,通过值“my-assortment”

我试过这个://label[containts('my-assortment')] 但它不起作用。

更确切地说,我想写这样的东西:

//input[@type='checkbox'] which has "id" of the value of "for" 
  in label[contains(., 'my-assortment')]

有人知道吗?

【问题讨论】:

  • 你不能使用'catalog-8'的复选框'id'值来执行'FindBy'吗?
  • 拼写正确containts?
  • [error] 元素 //label[contains('my-assortment')] 未找到
  • @Brian 那么它看起来怎么样?
  • 您的问题是一个“Xpath”值。尝试用 ID 值替换该值。

标签: java user-interface selenium testing checkbox


【解决方案1】:

//label[containts('my-assortment')]

首先,这不是containts - 它应该是contains(注意额外的t)。而且,您没有正确使用contains()。应该是:

//label[contains(., 'my-assortment')]

另外,如果您想按标签单击输入元素,preceding-sibling 会在这里提供帮助:

//label[contains(., 'my-assortment')]/preceding-sibling::input[@type='checkbox']

【讨论】:

  • 对不起。但它不应该工作,因为它会选择这个兄弟中的第一个复选框。我现在在帖子中提供更多信息。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2017-09-24
  • 2021-12-11
  • 1970-01-01
相关资源
最近更新 更多