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 に答える