python - 单击具有特定名称的图像

标签 python mechanize

如何使用 Python mechanize 单击如下图像?

<a href="..."><img name="next" id="next" src="..."></a>

我知道我想点击的图像的名称和 ID。我需要以某种方式识别父链接并单击它。我该怎么办?

奖金问题:我如何检查是否有这样的图像?

最佳答案

与其使用 mechanize,不如使用 bs4 (beautifulsoup 4) 做起来非常简单。

from bs4 import BeautifulSoup
import urllib2
text = urllib2.urlopen("http://yourwebpage.com/").read()
soup = BeautifulSoup(text)
img = soup.find_all('img',{'id':'next'})
if img:
    a_tag = img[0].parent
    href = a_tag.get('href')
    print href

使用 bs4 检索父标签非常容易,因为在使用 find_all 函数找到标签之后,只需使用 .parent 即可。 由于 find_all 函数返回一个数组,因此最好在以后执行 if img:,但由于这可能不适用于您的网站,因此它将是安全。 见下文。

编辑:我更改了代码以包含“奖金问题”,这是我在上面描述的替代方案。

关于python - 单击具有特定名称的图像,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14091564/

相关文章:

ruby - 收到错误 "nil:NilClass (No MethodError)"

python - 如何用Python记录按下按键之前的鼠标移动?

python - 如何将 pip 命令覆盖到 Python3.x 而不是 Python2.7?

python - Sqlalchemy 一对多关系加入?

python - 用python生成器实现图像分割

python - 如何使用 Mechanize 从表的最后一列(该行包含某些单词)中提取 URL

python - matplotlib 散点图中的对数颜色条

ruby-on-rails - 基于相邻标签 Mechanize page.search

Mechanize 的python网络抓取问题

ruby - Mechanize 不提交表格