Не могу найти ссылку с помощью Mechanize follow_link () - PullRequest
0 голосов
/ 09 февраля 2012

Я только начинаю смотреть на Python-версию Mechanize сегодня. Я взял большую часть этого кода из первого примера на http://wwwsearch.sourceforge.net/mechanize/. Документация этого модуля очень скудна, и я не знаю, как отладить это.

Я пытаюсь найти и перейти по первой ссылке с текстом «Карьера». Когда я запускаю это, я получаю эту ошибку «mechanize._mechanize.LinkNotFoundError». Может кто-нибудь сказать мне, что я делаю не так?

import re
import mechanize

br = mechanize.Browser(factory=mechanize.RobustFactory())
br.open("http://www.amazon.com/")

response1 = br.follow_link(text_regex=r"Careers", nr=1)
assert br.viewing_html()
print br.title()

1 Ответ

1 голос
/ 15 февраля 2012

Я только что сам попробовал пример кода, и похоже, что проблема в аргументе nr.Он не документирован нигде, кроме как в исходном коде (который гораздо более информативен, чем документация!), И в нем говорится:

nr: соответствует n-й ссылке, которая соответствует всем другим критериям (по умолчанию 0)

Поскольку аргумент nr основан на 0, когда вы указали аргумент 1, он искал упоминание о карьере second , которое, очевидно, было ничем.

Поскольку по умолчанию он равен 0 или первой найденной ссылке, вы можете установить аргумент nr равным 0 или полностью его отключить.

...