2015-07-29 4 views
1

Я недавно начал использовать Selenium Webdriver для автоматизации. Веб-страница, которую я пытаюсь автоматизировать, - это CSS. Так что я пытаюсь добиться, это нажать на раскрывающийся список «Admin», который затем отобразит список. И выберите один из вариантов «Пользовательский доступ» из этого списка.Selenium - Как найти объект без него и Id или Имя?

В настоящее время в источнике страницы этот раскрывающийся список «Администратор» не имеет идентификатора или имени. Ниже приведен код для справки:

<li class="dropdown"> 
    <a href="#" class="dropdown-toggle" data-toggle="dropdown" role="button" aria-expanded="false"> 
     Admin<span class="caret"></span> 
    </a> 
    <ul class="dropdown-menu" role="menu"> 

     <li> 
      <a href="usersAdmin"> 
       Users Admin 
      </a> 
     </li> 

     <li> 
      <a href="userAccess"> 
       User Access Admin 
      </a> 
     </li> 

     <li> 
      <a href="#"> 
       Email Object Admin 
      </a> 
     </li> 

    </ul> 
</li> 

Теперь я хочу выбрать значение User Access Admin из раскрывающегося списка? Я пытаюсь использовать метод findElement для идентификации этого объекта, но поскольку он не имеет идентификатора или имени, я не могу сделать это успешно. Что было бы подходящим методом для этого? Я использую Java для кодирования.

ответ

1

Должны ли быть следующие css?

a[href='userAccess'] 
+1

Я думаю, что вы можете опустить кавычки: 'а [HREF = userAccess] ' – alecxe

2

Вы можете сделать это:

Java

WebElement element = driver.findElement(By.linkText("Users Admin")); 

C#

var element = driver.FindElement(By.Name("Users Admin")); 

Python

from selenium.webdriver.common.by import By 
element = driver.find_element(By.NAME, "Users Admin") 
+0

Спасибо. Но это не работает. Это потому, что «Admin» - это метка, и нажатие на эту метку позволит выпадающее меню. Я думаю, нам нужно сначала нажать «Администратор», прежде чем мы сможем выбрать значение «Администратор пользователя». –

+0

@RahulBaskaran Используйте тот же код, чтобы сначала нажать на Admin, а затем User Admin, просто измените строку. –

1

В вашем случае, если вы хотите, чтобы открыть выпадающее меню и выберите опцию «Пользователи Администратор», то попробуйте следующее:

// find the dropdown and open it 
driver.findElement(By.linkText("Admin")).click(); 

// find the interesting element and select it via a click 
driver.findElement(By.linkText("Users Admin")).click(); 
Смежные вопросы