如何在使用xpath提取web元素的标签后验证该标签



我在带有chrome驱动程序的python中使用硒。

这是我的场景:

从网页中,我使用以下代码提取具有id==customer_infoclass==prize_info的所有元素:

customer_or_prize_list=driver.find_elements_by_xpath('//*[@id="customer_info" or @class="prize_info"]')

现在,我想遍历列表"customer_or_prize_list"的每个元素,并按照以下进行处理

  1. 如果web元素包含id==customer_info,则执行multi_line_text_formatting(假设为操作1(
  2. 如果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'''

最新更新