Я использую Xpathchecker FF плагин, чтобы получить выражение XPath, но когда я запускаю этот код:Invalid исключение Selector с помощью Xpath (селеном веб-драйвера)
private void srch() throws MalformedURLException, IOException
{
driver.get(TestURL);
WebElement input1 = driver.findElement(By.id("login_form_user_input"));
input1.sendKeys("guest");
WebElement input2 = driver.findElement(By.id("login_form_password_input"));
input2.sendKeys("guest");
WebElement btn = driver.findElement(By.id("login_form_signin_button"));
btn.click();
WebElement w1 = driver.findElement(By.id("header_search_text_field"));
w1.sendKeys("tsk");
//WebElement resulttable = driver.findElement(By.id("search_results_table"));
//System.out.println(resulttable.getSize());
List <WebElement> rows = driver.findElements(By.xpath("id('search_results_table')/x:tbody/x:tr"));
System.out.println(rows.size());
}
Я получаю следующее сообщение об ошибке:
Данный селектор id ('search_results_table')/x: tbody/x: tr либо недействителен, либо не приводит к появлению WebElement. Произошла следующая ошибка: InvalidSelectorError: Не удалось найти элемент с идентификатором выражения xpath ('search_results_table')/x: tbody/x: tr из-за следующей ошибки: [Исключение ...] Была сделана попытка создать или изменить объект таким образом, который неверен в отношении пространств имен "code:" 14 "nsresult:" 0x8053000e (NamespaceError) "location:" file: /// C:/Users/orsyp/AppData/Local/Temp/anonymous8101865731711582627webdriver -profile/extensions/[email protected]/components/driver_component.js Строка: 5916 "] Продолжительность или таймаут команды: 109 миллисекунд Для получения документации по этой ошибке, пожалуйста, посетите: http://seleniumhq.org/exceptions/invalid_selector_exception.html Информация о сборке: версия: '2.35.0 ', редакция:' c916b9d ', время:' 2013-08-12 15:42:01 ' Системная информация: os.name:' Windows 7 ', os.arch:' amd64 ', os.version:' 6.1 ' , java.ver Сьон: '1.7.0_40' Session ID: 9cbc470a-c211-46ce-8bb1-ccdb9c66ff1e
А вот мой HTML-код, как вы можете видеть, что это динамическая таблица:
<table id="search_results_table" class="table table-striped table-hover table-condensed table-bordered">
<tbody>
<tr class="ng-scope" ng-repeat="object in objects">
<td>
<a href="#/en/object?company=WAR001&area=X&mu=BIST_CE691&name=TSK(BEN701JU50)(000)">
<p style="font-size:11px">
</td>
</tr>
<tr class="ng-scope" ng-repeat="object in objects">
<tr class="ng-scope" ng-repeat="object in objects">
<tr class="ng-scope" ng-repeat="object in objects">
<tr class="ng-scope" ng-repeat="object in objects">
<tr class="ng-scope" ng-repeat="object in objects">
<tr class="ng-scope" ng-repeat="object in objects">
<tr class="ng-scope" ng-repeat="object in objects">
</tbody>
Просьба представить HTML-код, так что я буду в состоянии помочь вам с XPath. Ваш xpath недействителен. – Ievgen
Спасибо, HTML-код добавлен – Ziwdigforbugs
Почему вы задали несколько вопросов по этому поводу? Это было объяснено вам раньше, это не допустимый XPath в любом смысле. Вы также предоставляете нам старые файлы журналов: '' 2013-08-12 15: 42: 01' – Arran