1

我决定尝试 yandex HtmlElements 框架来构建包含几个类似块的页面。目的是在单独的类中描述单个块及其所有方法,然后在主页中迭代它们的列表。

按照https://github.com/yandex-qatools/htmlelements的示例,我做了以下操作:

部分类

@FindBy(xpath = ".//div[@class='score-section']")
public class Section extends HtmlElement {

        @Timeout(10)
        @FindBy(xpath = ".//div[@class='account-title']")
        private WebElement accountTitle;

        public void printValues() {
            System.out.println(accountTitle.getText());
        }

页面类

public class MainPage extends BasePage {
public MainPage(WebDriver driver) {
    super(driver);
    PageFactory.initElements(new HtmlElementDecorator(new HtmlElementLocatorFactory(driver)), this);
    }

List<Section> sections;

public void iterateOverSections() {
    for (Section section : sections) {
        section.printValues();
    }
}

但是,我得到了 accountTitle 的 NoSuchElementException。

是否有可能(以及如何?)从类似的块构建页面?

4

1 回答 1

1

我在你的代码中看不到任何问题,你能显示你测试的 html 页面吗?

于 2016-05-23T08:47:58.410 回答