我正在编写一个网页抓取脚本,在某些时候应该点击带有特定 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/