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

Selenium(Java)和获取Select元素的困难

冯德佑
2023-03-14

我在使用@findby获取和使用Select元素时遇到了困难。

标记:

<td>
   <felt [control]="kontactTypeFC" [classes]="'hb-distNone'">
      <label for="contactTypes" class="hb-label">Kontakttype</label>
      <select formControlName="contactType" class="hb-inputfield" id="contactTypes" [attr.disabled]="erSakenLukket(sak)">
         <option *ngFor="let option of contactTypeOptions" [ngValue]="option.type" [disabled]="option.disabled"> {{option.text }} </option>
      </select>
   </felt>
</td>
return new Select(this.element.findElement(By.id("contactTypes")));
@FindBy(id = "contactTypes")
public Select contactTypes;

return contactTypes;

注意:我当然正在初始化页面对象:

PageFactory.initElements(driver, this);

共有1个答案

黎曾笑
2023-03-14

Select是一个在构造函数中接收WebElement的类,您不能使用页面工厂来初始化它。使用@findby找到webelement,并将其与select一起使用

@FindBy(id = "contactTypes")
public WebElement contactTypes;

new Select(contactTypes);
 类似资料:
  • 在chrome和edge中运行测试时,我遇到了无法聚焦元素错误,它工作正常。我尝试了发布的分辨率,但无济于事。我不知道该怎么办。希望有人能帮忙。提前谢谢。 这是堆栈跟踪: 这是另一个堆栈跟踪。实际上,我在尝试单击提交按钮而不是活动标志时出错。我已经完成了我还将提供的操作步骤。 代码:

  • 我正在尝试使用Powershell和Selenium在chrome浏览器中自动单击。到目前为止,我已经成功地单击了下面的html文件示例主体中的元素。 HTML Powershell 使用上面的脚本将单击select元素中的第三个选项(在本例中为“Mercedes”)。 然而,我正在努力操纵阴影根中的元素,我似乎无法访问其中的任何元素,更糟糕的是,我要单击的元素位于子阴影根中,如下图所示: 上述图

  • 问题内容: 我正在尝试使用jquery和Selenium IDe 1.0.8获取元素。 在日志中我得到 当我把这个命令放到萤火虫中时,我得到了这个元素:/ 为什么不起作用? 编辑:例如,您也可以给我代码如何在stackoverflow主页上获取带有JAVA标签的第一个对象的ID。 标签: 和示例结果来自: 是: 问题答案: 根据其他帖子,我尝试了以下操作,并且有效。 将以下代码添加到user-ex

  • 我试图从网站中的元素中提取文本。HTML代码如下所示: 下面是我的代码:

  • 根据以下示例HTML查找元素下面的元素:

  • 我在Java中使用selenium。我无法从组合框的html元素中获取文本。每次我在combobox中得到所选值的空白文本时。 下面是我的combobox的html结构。 我在元素中使用了以下xpath 请帮忙。 蒂亚。