比如如下地址的淘宝商品详情页:
https://item.taobao.com/item....
编写Python代码如下:
def getValueUsingPhantomJS(url,cssSelector): from selenium import webdriver from time import sleep driver = webdriver.PhantomJS(executable_path=r'D:\phantomjs-2.1.1-windows\bin\phantomjs.exe') driver.get(url) sleep(5) driver.get_screenshot_as_file('test3.png') element1 = driver.find_element_by_css_selector(cssSelector) print(element1.text) return element1.text # sellCounter = getValueUsingPhantomJS("https://detail.tmall.com/item.htm?id=535551057548&ns=1&abbucket=0","#J_DetailMeta li.tm-ind-item.tm-ind-sellCount > p > span.tm-count") sellCounter = getValueUsingPhantomJS("https://item.taobao.com/item.htm?id=543877898669&ns=1&abbucket=0#detail","#J_SellCounter") print( sellCounter )
最后得到的“交易成功”数据总显示空,试着将网页快照保存为图片(代码中的test3.png),发现是有该数据的(目前这个商品的数据是75),请问是怎么回事,如何搞定呢?
也许是lazyload?
加上这句,
driver.maximize_window()
在最前面。我这边可以获取到了。
find_element_by_css_selector 方法,为什么传了一个“#J_SellCounter”,如果J_SellCounter是个ID值,那就不该用这个方法