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

Java和Selenium-按文本列表中的选择单选按钮

爱亮
2023-03-14

我正在尝试通过文本选择列表中的条目。li条目也有ID,但我想用文本代替。

我有以下html片段:

<fieldset felt id="bosted"
  <ul class="feltliste ng-scope">
    <li> 
      <label id="lblbostedleierKommunalt" for="bostedleierKommunalt" class="label ">
         Leier kommunal bolig
      </label>
    </li>(verdi, tekst) in bostedTyper -->
    <li>
      <label id="lblbostedleierPrivat" for="bostedleierPrivat" class="label ">
         Leier bolig
        <div class="hjelpetekst ng-scope ng-isolate-scope" ng-class="{'hjelpetekst--utvidet': visHjelpetekst}" id="leierPrivat-hjelpetekst " ng-if="verdi === 'LEIER_PRIVAT'">
          <button title="Vis hjelpetekst" type="button" ng-click="visEllerSkjulHjelpetekst($event)" aria-describedby="leierPrivat-hjelpetekst ">
          <span class="bare-skjermleser" translate=""><span class="ng-scope">Vis hjelpetekst</span></span>
          <est-ikon type="sporsmalstegn"><svg focusable="false"><use xlink:href="#ikon-sporsmalstegn"></use></svg>
        </div>

Leier kommunal bolig
Leier bolig

选项一:我试着这样做:

driver.findElement(By.cssSelector("id='bosted' li[text=" + text + "]")).click();

我试过“值”和其他选项。但我总是得到“指定了一个无效或非法的选择器”。

List<WebElement> options = bosted.findElements(By.tagName("li"));
    for (WebElement option : options) {
        if (option.getText().equals(bosituasjon)) {
                option.click();
                break;
        }
    }

但显然有问题,因为它没有导航到页面上的列表条目,并且该选项没有被选中。

另外,如果我使用.sendKeys(keys.enter)而不是.click(),我会得到一个“Element not Interactable”错误。

共有1个答案

颜高格
2023-03-14

使用下面定制的xpath,它几乎和使用id或类名一样快。

driver.findElement(By.xpath("//label[contains(text(),'Leier kommunal bolig')]")).click();
 类似资料:
  • 我是Selenium IDE的新手,在这里需要选择单选按钮的帮助。就我而言,我正在尝试为由单选按钮组成的特定表单生成一个测试用例。当我运行命令以单独选择其中一个单选按钮时,该函数可以工作,但如果我运行整个测试用例,则单选按钮不会被选中并给出找不到Element Id的错误。这是我的html: 我的IDE命令:单击Target: id=ProjectSolutionsProject0。我尝试了ver

  • 我正在尝试使用python和selenium从网页中的几个单选按钮中选择一个特定的单选按钮。幸运的是,我想要选择的单选按钮确实有相关的特定文本,这应该使我更容易选择。不幸的是,我错过了一些东西,因为所有的尝试都失败了。下面是HTML代码,我已经尝试过的,我正在努力实现的。 断续器 我需要选择的单选按钮将总是有文本“最快可用…”目前。 我所尝试的 我尝试了xpath代码的不同变体,试图根据文本选择它

  • 我已经搜索了前面的一些问题,并没有能够纠正--我是一个完全的新手,所以请原谅我的无知...尝试使用以下方法选择页面上的第三个“单选”按钮: 结果是: “消息:没有此类元素:找不到元素:{”method“:”XPath“,”Selector“:”//[@id=“Wizard_Tabs”]/div/div[1]/div/ul/li[3]/input“}”

  • 我想知道如何随机选择1,以及如何使用selenium IDE在我的网站上的单选按钮/检查字段中随机选择1-6个选项之间的某个地方。 我已经有了一个脚本,可以在下拉菜单中进行随机选择,这工作很好-可以轻松修改以进行其他选择吗?(请包括代码示例,因为我是新手。) 感谢您的帮助。

  • 问题内容: Selenium Select 类具有3种不同的选项选择方法: selectByIndex selectByValue selectByVisibleText 现在,我遇到一种情况,我想通过一些 部分 显示在选项可见文本之一中的文本来选择一个选项(不想让自己暴露在整个文本中)。 例如: 我只想通过提供“ DOLLAR”来选择此选项,例如: 您将如何有效地实施它? 问题答案: 您可以尝试

  • 我正在尝试使用selenium和Python单击这个单选按钮。 我有 但它不允许我点击它。我如何使用名称、值或类、值等的组合来点击? 关于如何使用硒,是否有一个很好的信息来源?因为我所发现的大部分是在java上使用的,而我使用的是Python。 编辑:使用XPATH