Как обрабатывать динамический идентификатор в HTML - PullRequest
1 голос
/ 28 марта 2012

Я должен нажать на кнопку с id. Но это id генерируется динамически. И найти By.className() ничего не делает.

HTML-код для кнопки:

<td class="x-btn-mc">
    <em class="" unselectable="on">
        <button id="cq-gen372" class=" x-btn-text" type="button">OK</button>
    </em>
</td>

Как выбрать кнопку и нажать на нее в Java?

Ответы [ 2 ]

1 голос
/ 28 марта 2012

Вы можете перейти с нижеуказанными опциями

  //button[text()='OK']    
  xpath=//button[contains(., 'OK')]
  //button[contains(@class, 'x-btn-text')] 
1 голос
/ 28 марта 2012

By.className() действительно был исправлен в IE и некоторых старых версиях Selenium. Я не знал, что это все еще так. Тем не мение! Вы можете искать по многим вещам, а не просто по id:

Вы можете попробовать By.xpath("//button[text()='OK']");, если это единственная (или первая) кнопка OK на странице.

Дополнительные xpath см. В XPath v1.0 на w3.org и XPath v2.0 на w3.org - только для некоторых новых браузеров! .

Или вы можете использовать css-селекторы - Снова w3 или Википедия .

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...