2015-01-11 3 views
0

Я пытаюсь найти ссылку, используя Selenium в java. Я хочу использовать веб-драйвер, чтобы щелкнуть ссылку. Элемент - это номер, который является ссылкой на другую страницу. Это раздел HTML, содержащий элементы, которые я хотел бы найти:Поиск элемента в селене

<tr class="DataGridPagerStyle"> 
<td colspan="5"> 
<span>1</span> 
<a href="javascript:__doPostBack('ctl00$ctl62$dgPersonSearchResults$ctl19$ctl01','')">2</a> 
<a href="javascript:__doPostBack('ctl00$ctl62$dgPersonSearchResults$ctl19$ctl02','')">3</a> 
<a href="javascript:__doPostBack('ctl00$ctl62$dgPersonSearchResults$ctl19$ctl03','')">4</a> 
</td> 
</tr> 

Я хотел бы пролистывать страницы, поэтому мне нужно, чтобы определить местонахождение «A HREF» элементов. Иногда бывает несколько страниц. Я пытался найти и нажмите на этих элементах, используя следующий код Java:

String href = doc.select("tr.DataGridPagerStyle").first().select("a:contains(" + i + ")").first().attr("href"); 
element = wait.until(ExpectedConditions.visibilityOfElementLocated(By.cssSelector("a[href=" + href + "]"))); 
element.click(); 

HREF строка действительно содержит правильное значение HREF атрибута для заданного значения I, однако я получаю эту ошибку при выполнении коды :

The given selector a[href=javascript:__doPostBack('ctl00$ctl62$dgPersonSearchResults$ctl19$ctl01','')] 
is either invalid or does not result in a WebElement. The following error occurred: 
InvalidSelectorError: An invalid or illegal selector was specified 

Почему это происходит и что является лучшим способом выбора этих элементов?

ответ

3

Вы можете найти ссылки на linkText():

link = doc.select("tr.DataGridPagerStyle").first().findElement(By.linkText(i)) 
link.click() 
+0

Это сработало, спасибо. – klib

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