У меня возникает странная проблема с nokogiri и xpath. Я хочу проанализировать HTML-документ и получить все ссылки по значению href и содержащемуся в них якорем.xpath with содержит ошибку throw, если строка начинается с числа
Вот мой XPath до сих пор:
xpath = "//a[contains(text(), #{link['anchor_text']}) and @href='#{link['target_url']}']"
a = doc.search(xpath)
Это прекрасно работает до сих пор, пока связь [ «anchor_text»] является строка без цифр.
Если я пытаюсь получить ссылку с якорным текстом «11example» он выдает следующее сообщение об ошибке:
Invalid expression: //a[contains(text(), 11example) and @href='http://www.example.com/']
Может быть, это просто глупая ошибка, но я не вижу, почему возникает эта ошибка , Если я помещаю некоторые цитаты вокруг ссылки # {link ['anchor_text']} в xpath, ничего не работает.
Edit: Вот пример HTML:
<!DOCTYPE html>
<head>
<title>Example.com</title>
</head>
<body>
<p>
<strong>Here is some text</strong><br />
<a href="example.com" target="_blank">11example</a>Some text here and there
</p>
<p>
<strong>Another text</strong><br />
<a href="example.com/test" target="_blank">example.com</a>Some text here and there
</p>
</body>
Edit2: Если я запускаю эти запросы вручную в IRB консоли все работает, как ожидалось, но только если я надену текст в кавычках.
Заранее благодарен!
С наилучшими пожеланиями, madhippie
Дайте нам HTML-код также. –
О, извините, я добавил HTML. – madhippie