硒:从网站上抓取文字输出错误的内容

时间:2019-05-15 14:08:54

标签: python selenium selenium-webdriver

我目前已经编写了一些基本的Selenium代码,这些代码可以打开网络浏览器,转到Google购物,通过EAN搜索产品,转到比较部分,然后截取页面截图并保存。我一直在尝试更改它,以刮取Google购物价格比较页,但是当我尝试这样做时:

    print(driver.find_elements_by_class_name('tiOgyd'))

它输出

<selenium.webdriver.remote.webelement.WebElement (session="b4b504606e9da50eb8127876c6da4d33", element="0.10149917790191187-1")> 

对我来说绝对没有任何意义。

“ tiOgyd”是Google购物中表格的价格部分,如下图所示

[Google Shopping tiOgyd[1]

最终目标是能够组织买卖双方并将其保存到文件中,以最终进行价格比较。

我希望这里的人可以解释为什么它没有输出我所期望的并帮助我解决它。谢谢。

1 个答案:

答案 0 :(得分:1)

driver.find_elements_by_class_name('tiOgyd')是一个对象

尝试

driver.find_elements_by_class_name('tiOgyd')[0].get_attribute('outerHTML')  
driver.find_elements_by_class_name('tiOgyd')[0].get_attribute('innerHTML') 
driver.find_elements_by_class_name('tiOgyd')[0].text

如果您希望只有一个班级使用此名称,则可以使用driver.find_element_by_class_name