hereという文書を見ましたが、回答が見つかりませんでした。PythonでSelenium WebDriverを使用して見つかった要素の数を取得する方法は?
class name
またはxpath
で要素を取得し、インスタンス数を返したいとします。 get_xpath_count()
のように、Pythonでは利用可能な関数がないようです。
これを達成するためのアイデアはありますか?
hereという文書を見ましたが、回答が見つかりませんでした。PythonでSelenium WebDriverを使用して見つかった要素の数を取得する方法は?
class name
またはxpath
で要素を取得し、インスタンス数を返したいとします。 get_xpath_count()
のように、Pythonでは利用可能な関数がないようです。
これを達成するためのアイデアはありますか?
driver.find_elements_by_xpathを試して、返される要素の数を数えます。
Javaでは、次のように仕事ができる:
ウェイ1:
ページ内の総リンクをカウントする
int xpathCount= driver.findElements(By.xpath("//div[@id='billingProfiles']/div[@class='cardContainer']")).size();
OR、
List<WebElement> xpath = driver.findElements(By.xpath("//div[@id='billingProfiles']/div[@class='cardContainer']"));
int xpathCount = xpath.size();
System.out.println("Total xpath: " + xpathCount);
をウェイ2:
int totalLinkSize2 = driver.findElements(By.xpath("//a")).size();
System.out.println("Total Links by Way2 : " + totalLinkSize2);
public static IWebDriver driver = null;
public static IList<IWebElement> elements;
// List count return total number of element
elements = driver.FindElements(By.XPath("//a"));
int intLinkCount = elements.Count;
あなたはセレンで利用できる 'assertXpathCount' コマンドを使用することができますあなたは、単にlen()
機能を使用することはでき
:Pythonで
len(driver.find_elements_by_xpath('//a'))
element.find_elements()
はすべてのサーフェスの子を返します。
doh!良いキャッチ! Locating Elementsセクションにリストされていたfind_element_by_xpath()という単一のWebElementオブジェクトが返されました。あなたが述べた複数の機能は実際には第6章「API」にあります。なぜ彼らがセクション4にもこれを含まなかったのか分かりません。ありがとう! – samxli
ええ、少なくとも奇妙なセクション4で簡単に言及するのは意味がありますが、少なくともいくつかのドキュメントがあります! – Sam
私はgithubで文書を編集し、うまくいけばそれは引っ張られます。 – samxli