获取XKCD图像的src链接?

时间:2016-01-14 18:11:49

标签: python selenium

我想从xkcd.com网站获取主图像的src(URL)链接。我使用以下代码,但它返回类似这样的内容 - > session =" 2f69dd2e-b377-4d1f-9779-16dad1965b81",element =" {ca4e825a-88d4-48d3-a564-783f9f976c6b}"

from selenium import webdriver
from selenium.webdriver.common.keys import Keys

browser = webdriver.Firefox()

browser.get('http://xkcd.com')
assert 'xkcd' in browser.title

idlink= browser.find_element_by_id("comic")

#link = idlink.get_attribute("src") ## print link prints null

print idlink

使用xpath方法也返回与上面相同的内容。 请帮我获取图片的网址。

2 个答案:

答案 0 :(得分:2)

browser.find_element_by_id返回web元素,这就是您打印的内容。 此外,您想要的文本位于idlink的子元素中。尝试

idlink = browser.find_element_by_css_selector("#comic > img")
print idlink.get_attribute("src")

idlink现在是包含img标记的网络元素,其父级标识为comic。 该网址位于src,因此我们需要该属性。

答案 1 :(得分:2)

建立答案here

你需要:

  1. 选择img标签(您当前正在选择div)
  2. 获取img标签

    的source属性的内容
    img_tag = browser.find_element_by_xpath("//div[@id='comic']/img")
    print img_tag.get_attribute("src")
    
  3. 上面应该打印图像的URL

    使用selenium的python绑定定位元素的更多技术可用here

    有关在Selenium中使用XPath的更多信息,请参阅this tutorial