Как найти объект ссылки с определенным id-тегом с помощью mechanize? - PullRequest
0 голосов
/ 10 апреля 2019

Я пишу веб-скрипт, который в какой-то момент должен щелкнуть ссылку привязки с определенным id-тегом. Я могу найти ссылку с помощью BeautifulSoup, однако я не могу найти способ получить объект mechanize.Link с помощью mechanize.

Пока это мой код.

import mechanize

br = mechanize.Browser()
response = br.open("myUrl")

for link in br.links():
    if str(link.attrs["id"]) == "cell_14_2":
        click_link(link)
    break

Я ожидаю найти объект ссылки с идентификатором "cell_14_2", но в строке появляется сообщение об ошибке:

if str(link.attrs["id"]) == "cell_14_2":

Сообщение:

TypeError: list indices must be integers, not str

Что я могу сделать, чтобы найти объект mechanize.Link и щелкнуть по нему?

1 Ответ

0 голосов
/ 11 апреля 2019

Атрибуты объекта ссылки хранятся в виде последовательности пар (имя, значение).Таким образом, вы должны сначала создать словарь, прежде чем запрашивать элемент по идентификатору.Например:

for link in br.links():
    attrs = dict(link.attrs)  # First create a dict
    if str(attrs["id"]) == "cell_14_2":  # Now you can ask for the `id`
...