我在 python 中使用 selenium 和 chrome 驱动程序。这是我的场景:我从网页中提取具有id==customer_info或class==prize_info使用以下代码的所有元素:customer_or_prize_list=driver.find_elements_by_xpath('//*[@id="customer_info" or @class="prize_info"]')现在我想遍历列表“customer_or_prize_list”的每个元素并按如下方式处理如果网页元素包含id==customer_info则执行 multi_line_text_formatting (假设其为操作 1)如果网页元素包含class==prize_info则执行 single_line_text_formatting (假设其为操作 2)您可以假设 Web 元素不会同时包含 id 和 class。如何使用上面的 1. 和 2. 处理列表元素?
1 回答
白猪掌柜的
TA贡献1893条经验 获得超10个赞
当您浏览列表中的每个元素时,使用以下方法获取元素的属性get_attribute():
for el in customer_or_prize_list:
is_customer = "customer_info" in el.get_attribute("id")
is_prize = "prize_info" in el.get_attribute("class")
其他方式,
为什么不将列表分成两个小列表,如下所示:
customer_list=driver.find_elements_by_xpath('//*[@id="customer_info"]')
for e in customer_list:
'''do multi_line_text_formatting'''
prize_list=driver.find_elements_by_xpath('//*[@class="prize_info"]')
for e in prize_list:
'''do single_line_text_formatting'''
添加回答
举报
0/150
提交
取消