「自分だけが宙を泳いで通学する夢」をよく見ていました

IT系辞めて今は営業職。オタクも辞めた?いま何者なんだ俺は...

【C#】seleniumその1

※社内勉強会準備の整理のための走り書きです。

 

ページ内の要素を表す際、IWebElementクラスを用いる。

また、そのためにはIWebDriverクラスを用いるが、導入までは割愛する。

 

IWebDriver driverとする。

 

1. ブラウザで開いているページ内の(表示領域内)要素をクリックする

 driver.FindElement(By by).Click();

 

 例1:範囲内にある最初のクラス aClass をクリックする。

  driver.FindElemnt(By.ClassName("aClass")).Click();

 例2:同上、ID bId をクリックする。

  driver.FindElemnt(By.Id("bId")).Click();

 例3:div要素上のクラス aClass 上にあるId bIdをクリックする。

  driver.FindElemnt(By.CssSelector("div .aClass #bId")).Click();

 

2.要素A内の要素Bをクリックる

 IWebElement varA = driver.FindElement(By by);

 varA.FindElement(By by).Click();

 

 例4:先ほどの例3

  IWebDriver dibYouso = driver.FindElemnt(By.TagName("div"));

  divYouso.FindElement(By.CssSelector(".aClass #bId")).Click();

 

3.条件に合致する全ての要素を取得する(表示領域外も)

 ReadOnlyCollection<IWebElement>  FindElments()

 

 例5:ページ内のdiv要素を全てクリックする

   ReadOnlyCollection<IWebElement> list = driver.FindElements(By.TagName("div"));

   ↓

 foreach(IWebElement i in list){

  i.Click();

 }

 

      課題: <div  iroirokaitearuTagDayo style="display:none"/>の指定

     hint . GetCssValue("display").Equals("none")