2016-04-14 1 views
1

У меня возникли проблемы с нажатием на эту кнопку «кнопка» в этом веб-приложении. Это определено так:У вас возникли проблемы с нажатием кнопки/ссылки с помощью Selenium Webdriver

<tr> 
<td id="mainleftlinkzoneover" width="9" valign="top"> 
<td id="mainleftlinkzoneover" class="mainleftlinks" width="151" title="Online Training"> Online Training</td> 
</tr> 

Обратите внимание, что нет имени или идентификатора для использования. Благодаря! Я попытался щелкнуть его по тексту Link. Неа. Я попытался щелкнуть его частичным текстом ссылки. Неа.

Не знаю, почему это не работает, но я делаю Селен целый день. Я успешно вхожу в приложение, так что все работает. Если я использую By.PartialLinkText, он не прерывается, но он не нажимает на ссылку.

WebElement OnlineTrainBtn = driver.findElement(By.partialLinkText("Training")); 
OnlineTrainBtn.click(); 

Я думаю, что можно оставить либо Xpath или CSSSelector, но я понятия не имею, как писать в строку поиска.

Любая помощь по этому поводу очень ценится, у меня есть десять или двенадцать других «кнопок», подобных этому.

ответ

1

By.PartialLinkText ищет среди тегов <a>.

Так что в вашем случае, я хотел бы использовать селектор CSS, чтобы соответствовать название:

driver.findElement(By.cssSelector("td[title='Online Training']")).click(); 

Вы также могли бы использовать XPath, чтобы частично совпадать с текстом:

driver.findElement(By.xpath("//td[contains(., 'Training')]")).click(); 
+0

Это работает очень хорошо спасибо вы ТАК. Теперь я тоже понимаю формат. Это поможет мне с проверками. Люблю это место! –

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