2016-09-14 49 views
1

我想凑一个网站,我的项目形象的名字,但我有与此websitePython的硒得到网站

enter image description here

与下面的代码通过Selenium报废图像名称的麻烦,我能够使用硒从网站

results = driver.find_elements_by_css_selector("li.result_content") 

for result in results: 
    company_name = result.find_element_by_tag_name("h3").get_attribute("innerText") 
    product_name = result.find_element_by_id('sProdName').get_attribute("innerText") 
    product_paymode = result.find_element_by_id('paymode').get_attribute("innerText") 

我被告知使用get_attribute("innerText"),因为有几个项目隐藏返回我的text数据,并get_attribute("innerText")将帮助我获得隐藏的物品。 (果然,它的工作原理)

我的问题是:我如何刮prod-feature-icon类,告诉我,如果该图片是active

+0

我已经更新了我的回答 – e4c5

回答

2

为什么不使用find_element_by_class_name

feature_icon = result.find_element_by_class_name("prod-feature-icon") 

然而,值得注意的是,这一类名称的对象实际上是在它一个UL有那么你需要决定正是你想从工作,其形象是几个图像。另外,您可以通过他们与

for item in feature_icon.find_elements_by_tag_name('img'): 
    print(item.get_attribute('src')) 

迭代当然这不会仍然告诉你的项目是否有效或无效,因为这似乎不是由CSS而是由图像的明暗来决定

+0

不应该是'find_elements_by_class_name' –

+0

那么有两种方法,当你想遍历整个集合时使用复数,当你不关心你得到的元素或你确定只有一个,你使用单数 – e4c5

+0

我试过了,但它似乎打印出'None'而不是图像名称 –