请问:用Python+Selenium获取淘宝商品详情页面数据,“交易成功”数据怎么也出不来,是怎么回事?

比如如下地址的淘宝商品详情页:
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 > div > 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),请问是怎么回事,如何搞定呢?

阅读 4.2k
2 个回答

也许是lazyload?
加上这句,driver.maximize_window()在最前面。

我这边可以获取到了。

新手上路,请多包涵

find_element_by_css_selector 方法,为什么传了一个“#J_SellCounter”,如果J_SellCounter是个ID值,那就不该用这个方法

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题