我想从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方法也返回与上面相同的内容。 请帮我获取图片的网址。
答案 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
你需要:
获取img标签
的source属性的内容img_tag = browser.find_element_by_xpath("//div[@id='comic']/img")
print img_tag.get_attribute("src")
上面应该打印图像的URL
使用selenium的python绑定定位元素的更多技术可用here
有关在Selenium中使用XPath的更多信息,请参阅this tutorial