2010-07-26 4 views
0

пытается решить мою проблему, не уверен, действительно ли есть решение или решение, которое легко доступно. Я пытаюсь выяснить, могу ли я указать «термин», который находится в источнике веб-страницы, и иметь «черный ящик» для получения полного сертификата XPath для элемента DOM, который содержит/использует/использует/«использует» термин «срок»xpath/dom/term вопрос

другими словами, если у меня есть страница, которая имеет <a href="bbb" name='foo'>, я хотел бы иметь возможность указать, что-то вроде:

attribute="name 
data="foo" 

и выход будет полностью квалифицированное XPath, чтобы получить <a/> пункт

Я ищу начало инструмента, который позволит мне указать конкретные элементы веб-страницы; приложение/функция будет анализировать DOM/страницу, построить дерево, а затем вернуть полностью квалифицированный XPath для входов.

Я просмотрел различные данные в сети, не так много. .

UPDATE :: Я не ищу решение для создания единого XPath, я ищу, как обобщить эту проблему ...

я могу легко создать XPath для данного сценария ... но я хочу пойти другим путем.

я хочу «черный ящик», чтобы дать мне «//...[@name="foo»]

так, основываясь на входах, приложение будет определить, если страница имеет элемент, и затем сгенерируйте правильный XPath для элемента DOM ...

таким образом, я могу указать форму и привязать любое, и до тех пор, пока я определяю elementtype/id/name, результатом будет квалифицированный XPath, чтобы затем генерировать данные для элемента/элемента.

Надеюсь, что это немного прояснится.

ответ

0

Оценить XPather

В запросе вы указываете что-то вроде: //*[@name="foo"], затем вы копируете полный Xpath из окна результатов.

+0

hey spektom ... вы пропустите мою проблему/вопрос .. я могу легко создать XPath для данного сценария ... но я хочу пойти другим путем. Я хочу, чтобы «черный ящик» дал мне «//...[@name="foo»] , поэтому на основе входов приложение определяло бы, имеет ли страница элемент, а затем генерирует правильную XPath для элемента DOM ... –

+0

'// * [@ name =" foo "]' - входной запрос в черный ящик (называемый XPather), что означает: найти все элементы, у которых есть атрибут 'name' со значением 'foo' (это потому, что XPather только понимает формат ввода XPath). Blackbox находит все элементы, соответствующие этому запросу (может быть больше одного элемента), а затем вы запрашиваете у Blackbox генерировать полные Xpaths для каждого элемента, который он имеет Я уверен, что вы можете повторно использовать XPather программно. – spektom

+0

hey spektom ... еще раз спасибо .. но опять же, я не хочу создавать любые xpath для подачи в черный ящик fo r для возврата данных. Я хочу передать «тип элемента» и атрибут, а черный ящик возвращает XPath, который затем может быть использован для возврата/генерации конечного результирующего набора данных ... xpather не выполняет этого.xpather требует функции/запроса xpath, чтобы затем разобрать dom ... спасибо –

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