2014-10-30 1 views
-1

Я новичок в Selenium и с нетерпением жду возможности узнать больше, я использую Selenium WebDriver с C#.Как инициализировать WebElements в объекте страницы Selenium

Это, как я инициировать WebElement:

CarouselSliderNextButton = DriverInitializer.driver 
     .FindElement(By.XPath("//a[@class='buttons next']")); 

Но если элемент не существует для какой-либо причине; скрытый, например, тогда он не работает. Я знаю, что могу проверить, существует ли элемент до того, как я начну, но хотел бы услышать от экспертов, если я делаю это правильно.

ответ

0

Я не утверждаю, чтобы быть экспертом, но это то, что я думаю:

  • Вы не «инициировать» веб-элемент
  • Вы найдете веб-элемент
  • Прежде всего, вам нужно найти элемент, который вы хотите найти из html-файла. Вы можете использовать Google или Firefox в режиме разработчика, чтобы найти его. Я рекомендую вам установить «Firebug» для Firefox, это очень полезно.
  • Есть несколько причин, почему элемент вы можете «видеть» из HTML файла, но вы не можете найти:
  • 1: этот элемент на IFRAME, этот случай требует, чтобы найти этот IFRAME первый найдите элемент
  • 2: этот элемент еще не отображается, например, кнопка со стрелкой вниз появится только в том случае, если сначала наведите указатель мыши на определенную область.

Но вы направляетесь в правильном направлении.

+0

Благодаря Ю Чжан я ценю вклад был больше, в надежде understund, как я могу найти webelements и объявить их как можно сказать, переменные для моего класса объектов страницы, как сейчас, например, если я просто так люблю: CarouselSliderNextButton = DriverInitializer.driver .FindElement (By.XPath ("// a [@ class = 'buttons next"] ")); - и элемент не появляется на странице HTML, но затем я получаю исключение, поэтому я объявляю, что эти переменные внутри метода могут обрабатывать такие исключения – user2819161

0

Если вы пытаетесь intialise в WebElement, я использую:

WebElement element = driver.findElement(By.tagName("div")); 

как большинство Домс имеют Div теги. Тогда после того, как пытался найти элемент, который существует (и не DIV тег), проверьте:

if (element.getTagName().equals("div")){ 
    System.out.println("Element not found..."); 
} 
Смежные вопросы