Ну, я не могу придумать более простой способ сформулировать этот вопрос, ребята, но это не так сложно, как кажется. По сути, у меня есть небольшой проект, который поможет мне продвинуться на своем рабочем месте (агент технической поддержки в настоящее время ищет возможности работать неполный рабочий день в веб-разработке: в данный момент мне не хватает кода, а техническая поддержка не удовлетворяет)
Поэтому я сказал, что сделаю небольшую программу, которая будет информировать технических агентов о проблемах или проблемах сайта, когда они возникнут. Он берет информацию с небольшой веб-страницы, называемой отключением (что, на мой взгляд, губительно, 177 ошибок в валидаторе wcc)
Ребята из веб-разработчика не просто дадут таблицу и идентификатор, какая-то дыра в безопасности? Не знаю как, но я не собираюсь расспрашивать парней над собой. Пытаюсь работать с ними, а не против них.
Сама таблица не имеет идентификатора, но внутри столбцов есть идентификатор (span id), например
<table width="100%" border="0">
<tbody>
<tr id="title">
<td width="9%">Date/Time</td>
<td width="24%">program/site</td>
<td width="5%">Ticket</td>
<td width="*">Issue</td>
<td width="2%">More</td>
</tr>
<tr>
<td><span id="date">2011-01-27 17:32</span></td>
<td><span id="site"><a id="fus_00001"></a>sample area or program affected</span></td>
<td><span id="site"><a href="https://sample php file i cant give you" target="_blank">12345671</a></span></td>
<td><span id="issue">problem identified/ investiating</span></td>
<td><span id="ticket"></span></td>
</tr><tr>
Я использую Java для этого и для всех намерений и целей, он рисует, делает все, что мне нужно. Для разбора информации я использую htmlunit 2.8
Вот код, который я сейчас использую. Я просто не знаю, как получить эти таблицы без идентификатора.
String update = "blank";
final WebClient webClient = new WebClient();
webClient.setJavaScriptEnabled(false);// javascript causes some serious problems.
webClient.setCssEnabled(false);
HtmlPage page;
try
{
URL outageURL = new URL("file:\\C:\\Users\\MYDRIVE\\Desktop\\version control\\OUTAGE\\Outages.htm"); //local drive at home
page = webClient.getPage(outageURL);
//final HtmlTable table = page.getHtmlElementById("outages");// if the table had the id "outages, this would be perfect! but alas it doesnt
final HtmlTable table = page.get//the cells int eh table by some other means
update = (table.getCellAt(1,0).asText() + " " + table.getCellAt(1,1).asText() + " " + table.getCellAt(1,2).asText() + " " + table.getCellAt(1,3).asText());
// above code takes the cells and combines them
} catch and everything else
return update;
Итак, суть в том, есть ли у кого-нибудь идеи о том, как получить доступ к этим таблицам другим способом без идентификатора. Может быть, идентификатор диапазона? ps Я просматривал HTML-модуль api hor, не совсем уверен, что смогу найти что-нибудь полезное.
final String stringHtmlTable = page.getPage().asXml();
Если бы я должен был это сделать, как бы я использовал xpath, чтобы перевести меня в нужную ячейку в соответствии с ответом метки.
постскриптум совсем не знаком с xml