2013-04-15 2 views
1

Я работаю с Selenium IDE, чтобы выполнить регистрацию и автоматизацию тестовых случаев с помощью Firefox. В моем текущем тестовом примере мне нужно щелкнуть по определенному пункту меню. Этот пункт меню имеет свой идентификатор, который динамически генерируется, поэтому я не могу использовать это, чтобы идентифицировать элемент меню.Selenium IDE: Как обнаружить элемент меню с динамическим идентификатором

Вот выдержка из HTML кода я работаю с (пытаясь держать его коротким, как это довольно большой):

<div class="mmenu-column last-child"> 
    <ul> 
     <li id="liemx1271284633044.5005" class="submenu" menuuid="emx1271284633044.5005"> 
     <ul> 
      <li id="liemx573969930099.0066" class="link" menuuid="emx573969930099.0066"> 
      <li id="liemx72897755668.1767" class="link" menuuid="emx72897755668.1767"> 
      <li id="liemx1355170643142.7795" class="link" menuuid="emx1355170643142.7795"> 
       <span class="icon"> 
       <span>Create Drawing Print...</span> 
      </li> 
      <li id="liemx1032692905053.1085" class="link" menuuid="emx1032692905053.1085"> 
     </ul> 
     <li id="liemx625746376608.6172" class="submenu" menuuid="emx625746376608.6172"> 
     <ul> 
     <li id="liemx696193179020.1482" class="submenu" menuuid="emx696193179020.1482"> 
     <ul> 
    </ul> 
</div>` 

Я пытаюсь получить «Создание чертежа Печать ... ". Я использовал Firebug и получил следующее: XPath

html/body/div[20]/div/div/div/div/div[2]/ul/ul[1]/li[3]/span[2] 

И это работает, но это сильно зависит от ширины и высоты браузера (изменение ширины или высоты вызвать меню разрушаться, таким образом, изменяя положение его элементов меню компоновки). Мне нужна помощь в поиске хорошего способа получить этот элемент элемента меню (XPath или другой) для использования в моем тестовом примере Selenium.

Спасибо!

ответ

0

Я хотел бы попробовать выражение XPath, как это:

//span[text() = 'Create Drawing Print...'] 
+0

Да, это именно то, что я искал! Большое спасибо Вам! :) – XenoAce

0

Попробуйте с этим CSS Selector

driver.findElement (By.cssSelector ("Ли [ID = 'liemx']> пядь. icon + span ")). Любые операции.

Пожалуйста, дайте мне знать Является ли приведенный выше CSS работающим или нет.

Смежные вопросы