我在带有chrome驱动程序的python中使用硒。
这是我的场景:
从网页中,我使用以下代码提取具有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"的每个元素,并按照以下进行处理
- 如果web元素包含
id==customer_info
,则执行multi_line_text_formatting(假设为操作1( - 如果web元素包含
class==prize_info
,则执行single_line_text_formatting(假设为操作2(
您可以假设web元素不会同时包含id和class。
如何使用1处理列表元素。和2。在上面
浏览列表中的每个元素时,使用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")
如果您想了解更多关于get_attribute()
的信息,请查看此url。
另一种方式,
你为什么不把这个列表分成两个小列表,如下所示:
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'''