如图:
class="items"的标签div下包含有多个div标签,它们的class值都等于"item J_MouserOnverReq item-ad " 或 "item J_MouserOnverReq item-ad ",使用
items_list = driver.find_elements_by_xpath('//div[@class="items"]/div[@class="item J_MouserOnverReq "]')
# 或者
items_list = driver.find_elements_by_xpath('//div[@class="items"]/div[@class="item J_MouserOnverReq item-ad "]')
都不能获取得class="items"的标签div下所有的div标签,那么如何获取呢?这时候可以使用功能函数 contains() 来获取包含多个class属性值的标签,如下:
items_list = driver.find_elements_by_xpath('//div[@class="items"]/div[contains(@class, "item J_MouserOnverReq item-ad ") or contains(@class, "item J_MouserOnverReq ")]')
print(len(items_list))
for item in items_list:
# .//div 表示在当前节点下所有的div
title = item.find_element_by_xpath('.//div[@class="row row-2 title"]/a').text
price = item.find_element_by_xpath('.//div[@class="price g_price g_price-highlight"]/strong').text
deal_cnt = item.find_element_by_xpath('.//div[@class="deal-cnt"]').text
shop_name = item.find_element_by_xpath('.//div[@class="shop"]').text
location = item.find_element_by_xpath('.//div[@class="location"]').text
print(title, price, deal_cnt, shop_name, location)