maven 如何在Selenium中使用@FindBy注解来生成span文本?

t3irkdon  于 2023-02-11  发布在  Maven
关注(0)|答案(3)|浏览(133)

我想知道我可以做些什么来获得带有@FindBy注解的span元素中的“Apple”文本。
这是html代码:

<span class="ui-cell-data">Apple</span>

我尝试了类似的方法:

@FindBy(className = "ui-cell-data:Samsung")
WebElement customerName;

但没有成功!

slsn1g29

slsn1g291#

根据您共享的HTML,您可能/可能无法使用以下命令获取span元素中的Apple文本:

@FindBy(className = "ui-cell-data")
WebElement customerName;

您的代码近乎完美,但是className中的尾随部分**:Samsung是不必要的。
但是,再次查看class属性,预期还有几个
<span>标签将具有相同的class。因此,为了唯一标识预期的WebElement**,我们需要引用父节点并跟随其后代到达该特定节点。
最后,使用给定的HTML,下面的代码块将更加简洁:

    • CSS选择器 *:
@FindBy(css = "span.ui-cell-data")
WebElement customerName;
    • 扩展路径 *:
@FindBy(xpath = "//span[@class='ui-cell-data']")
WebElement customerName;
vyswwuz2

vyswwuz22#

您可以尝试使用下面的xpath

@FindBy(xpath = "//span[@class = 'ui-cell-data']") 
 private WebElement element;
zsohkypk

zsohkypk3#

可以像使用链式元素查找一样使用@FindBys

@FindBys({@FindBy(className = "ui-cell-data")})
private WebElement element;

或尝试使用以下:

@FindBy(xpath = "//*[@class = 'ui-cell-data']")
private WebElement element;

@FindBy(css = ".ui-cell-data")
private WebElement element;

希望这能解决你的问题。

相关问题