とりあえず、
ページ内の要素を取得するにはWebDriverのfindElementやfindElementsを使用。
引数としてはByクラスのメソッドを使用し要素を指定。
- findElement()
- Webページ上のインスタンスを返却。
要素が見つからない場合には「NoSuchElementException」を返却し、複数見つかった場合には最初の1つ目を取得します。 - findElements()
- Webページ上のインスタンスを返却。
要素が見つからない場合には要素0のリストを返却し、複数見つかった場合には要素数分保持したリストを返却します。 - こんな感じ。
- String TargetTag = “div”;
IList<IWebElement> WebElementList = driver.FindElements(By.TagName(TargetTag));
Byによる要素指定
要素を指定する際にはByにあるメソッドを使用します。使用するメソッドは以下のようになります。
By.name()
要素のname属性を利用し、要素を取得します。
String name = “要素名”;
List list = driver.findElements(By.name(name));
By.id()
要素のid属性を利用し、要素を取得します。
String id = “id名”;
List list = driver.findElements(By.id(id));
By.tagName()
htmlのtag名に一致する要素を取得します。
String tagName = “input”;
List list = driver.findElements(By.tagName(tagName));
By.className()
要素に設定されているclassを利用し、要素を取得します。
String className = “class名”;
List list = driver.findElements(By.className(className));
By.linkText()
リンク名に使用している名称を利用し、要素を取得します。
String linkName = “リンク名”;
List list = driver.findElements(By.linkText(linkName));
By.partialLinkText()
リンク名に使用している名称を利用し、要素を取得します。 linkTextとの違いは名称の一部が一致している場合に取得することができます。
String linkName = “リンク名”;
List list = driver.findElements(By.partialLinkText(linkName));
By.xpath()
xpathを利用して要素を取得します。
String xpath = “//div/a”;
List list = driver.findElements(By.xpath(xpath));
By.cssSelector()
要素に設定されているcssを利用し、要素を取得します。
String cssName = “cssName”;
List list = driver.findElements(By.cssSelector(cssName));