3

2 つの By を結合/連結することはできますか?

私が持っている場合By

By parentBy = new By.xpath(".//div[@class='parent']")

そしてもう一つBy

By childBy = new By.xpath(".//div[@class='child']")

このxpathを持つ新しいByに2つのByを連結することは可能ですか?

By combinedBy = new By.xpath(".//div[@class='parent']/div[@class='child']")

何かのようなもの

By combinedBy1 = parentBy + childBy
By combinedBy2 = parentBy.Concat(childBy)

使用事例:

ページ オブジェクト モデルを使用します。

これで、子ページ オブジェクト モデルのようなテーブルができました。このテーブルには、データを選択するメソッドが必要です。いくつかのhtml構造の問題(サードパーティです)のため、セルのクラスとこのセルのテキスト/コンテンツをチェックして、div(行)の子であるテーブルのセルをxpathする必要があります。

4

2 に答える 2

5

次の 2 つのオプションがあります。

  1. 次のようなことができます:

    WebElement parentEl = driver.findElement(By.xpath(""))
    WebElement childEl = parentEl.findElement(By.className(""))
    
  2. PageFactory を使用し@FindBysます。Selenium PageFactoryおよびSelenium APIを参照してください。

于 2014-06-13T14:50:01.667 に答える