所以,這不完全是你要求的,但它確實有效。通過使用虛擬顯示器設置硒,Selenium可以在沒有實際瀏覽器的情況下使用。它需要xvfb和pyvirtualdisplay(這是xvfb的包裝)。這是我如何得到它的工作(在安裝xvfb後的Ubuntu 12.04上)。
from selenium import webdriver
from pyvirtualdisplay import Display
display = Display(visible=0, size=(800, 600))
display.start()
browser = webdriver.Firefox()
url = 'http://www1.macys.com/shop/product/alfani-black-sweater-horizontal-texture-stripe-full-zip-sweater?ID=720780&CategoryID=4286&LinkType=PDPZ1'
browser.get(url)
el = browser.execute_script('return MACYS.pdp.primaryImages')
print el
{u'720780': {u'Blue Indigo': u'2/optimized/1291562_fpx.tif',
u'Deep Black': u'3/optimized/1291563_fpx.tif',
u'Flint Heather': u'4/optimized/1291564_fpx.tif',
u'Grey Heather': u'1/optimized/1291911_fpx.tif',
u'River Blue': u'0/optimized/1291560_fpx.tif'}}
正巧他們有一個叫MACYS
,他們保留所有關於圖像的信息(這是我打印出來有)JavaScript的命名空間。希望有所幫助。