单击具有特定名称的图像

yas*_*sar 1 python mechanize

如何使用Python机械化单击下面的图像?

<a href="..."><img name="next" id="next" src="..."></a>
Run Code Online (Sandbox Code Playgroud)

我知道要点击的图片的名称和ID.我需要以某种方式识别父链接并单击它.我怎么能够?

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

Hai*_*irr 5

而不是使用机械化,使用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
Run Code Online (Sandbox Code Playgroud)

使用bs4检索父标记非常容易,因为它.parent在使用该find_all函数找到标记之后发生的情况. 由于该find_all函数返回一个数组,最好if img:在将来做,但由于这可能不适用于您的网站,因此这样做是安全的. 见下文.

编辑:我已经改变了代码以包括"奖金问题",这是我上面作为替代方案所描述的.