gpt4 book ai didi

java - Selenium (Java) 和获取 Select 元素时遇到问题

转载 作者:行者123 更新时间:2023-11-30 02:00:01 27 4
gpt4 key购买 nike

我在使用 @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>

以下 Selenium 代码工作正常

return new Select(this.element.findElement(By.id("contactTypes")));

但是,这不会:

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

return contactTypes;

这将返回 null,创建一个 NPE。

我使用完全相同的方法来获取页面上的其他元素。唯一的区别是其他元素是 WebElement,而不是 Select。

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

PageFactory.initElements(driver, this);

最佳答案

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

一起使用
@FindBy(id = "contactTypes")
public WebElement contactTypes;

new Select(contactTypes);

关于java - Selenium (Java) 和获取 Select 元素时遇到问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53205179/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com