9

指定されたxpath式で一致している要素の数をカウントする方法

xpath: driver.findElement(By.xpath("//div[contains(@id,'richedittext_instance')]"))

必要なのはカウントだけです。

4

4 に答える 4

14

このコードを試してください:

//Assume driver is intialized properly.
int iCount = 0;
iCount = driver.findElements(By.xpath("Xpath Value")).size());

には、同じ値iCountを持つ要素の数があります。xpath

于 2013-02-08T07:05:19.383 に答える
0

以下をせよ:

from selenium.webdriver.common.by import By
elements = driver.find_elements(By.XPATH, "Your_XPath")

これは s のリストを出力しますselenium.webdriver.firefox.webelement.FirefoxWebElement(私の Firefox ブラウザーで)。

最後に、リストの長さを調べます。

len(elements)

注意。find_elements(): (複数) と NOT と書いていることに注意してくださいfind_element()。どちらも違います。find_element()は最初に一致した Web 要素のみを返しますが、一致したすべての Web 要素のリストを見つけるには、 を使用する必要がありますfind_elements()

于 2020-12-13T01:15:47.723 に答える
0

によって返される数のようなプリミティブではなく、XPath からノードを返すことのみを許可する Selenium では機能しませんcount(...)。参照用に保持されており、より完全な XPath API を提供する他のほとんどのツールで有効です。

クエリから可能な限り少ない量のデータのみを返す必要があります。すべての要素を XPath エンジンから Selenium に渡す必要がないため、XPathcount(//div[contains(@id,'richedittext_instance')])の結果の数をカウントします。

intこれをセレンからn として取得する方法についてはお手伝いできませんが、これは簡単なことです。

于 2013-02-08T13:19:57.473 に答える