python - 如何使用 Mechanize 找到具有特定 ID 标签的链接对象?

标签 python html hyperlink mechanize

我正在编写一个网页抓取脚本,在某些时候应该点击带有特定 ID 标签的 anchor 链接。我可以使用 BeautifulSoup 找到链接,但是我找不到使用 mechanize 获取 mechanize.Link 对象的方法。

到目前为止,这是我的代码。

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

我希望找到 ID 为“cell_14_2”的链接对象,但我收到一条错误消息:
if str(link.attrs["id"]) == "cell_14_2":

消息是:
TypeError: list indices must be integers, not str

我该怎么做才能找到 mechanize.Link 对象并单击它?

最佳答案

链接对象上的属性作为(名称,值)对的序列保存。所以你应该先创建一个字典,然后再通过 id 请求一个项目。例如:

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`

关于python - 如何使用 Mechanize 找到具有特定 ID 标签的链接对象?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55612056/

相关文章:

python - Pip3 未与 python3 一起安装,异常情况?

python - 无法定义名称 "userInput"

python - 跳过文件的某些字节并返回内容

html - 向输入元素添加值会导致它垂直移动

javascript - jQuery,可选和文本对齐属性问题

javascript - 选中复选框时如何突出显示表格行? Angular 7

javascript - 页面打开时链接被隐藏

Facebook 共享链接在页面存在时返回 404 重定向错误

jquery - 奇怪的错误,链接在 jquery 中不起作用 'tabs+accordion'

python - 使用Python dateutil,如何判断一个时区字符串是否为 "valid"?