【问题标题】:find number of class after finding element by its xpath通过 xpath 找到元素后找到类的数量
【发布时间】:2021-07-30 16:29:26
【问题描述】:

我想获取 1 个元素的类数 我有这个定位元素的代码:

url = '/v/پیش-فروش-متریال-متفاوت_پیش-فروش_تهران_افسریه_دیوار/AY7nRuql'
boz = driver.find_element_by_xpath("//*[contains(@href, '"+ url+ "')]")

然后我通过下面的代码得到它的类:

print(boz.get_attribute('class'))

我得到这个输出:kt-post-card kt-post-card--outlined kt-post-card--has-chat

我想获取页面中班级的编号,因为像上面的班级一样有24个班级

【问题讨论】:

  • 实际上我想在所有页面中获取此 url 的类数,我有 24 个相同的类,我想知道与该元素匹配的类的数量,例如通过 xpath 查找元素包含这个类 kt-post-card kt-post-card--outlined kt-post-card--has-chat [0 to 23] i want the number of [0 to 23]

标签: python python-3.x selenium selenium-webdriver selenium-chromedriver


【解决方案1】:

您可以将元素存储到列表中并获取列表的长度。

boz = driver.find_elements_by_xpath("//*[contains(@href, '"+ url+ "')]")
print(len(boz))
print(boz[0].get_attribute('class'))

【讨论】:

  • 实际上我想在所有页面中获取此 url 的类数我有 24 个相同的类,我想知道与此元素匹配的类的数量,例如通过 xpath 查找元素包含这个类 kt-post-card kt-post-card--outlined kt-post-card--has-chat [0 to 23] i want the number of [0 to 23]
  • 对不起,我还是没听懂你的问题。
【解决方案2】:

你可以试试下面的xpathfind_elements

我相信,

//*[contains(@href, '//*[contains(@href, '/v/')]')]

表示您正在查找的 24 个类。

代码:-

all = driver.find_elements(By.XPATH, "//*[contains(@href, '//*[contains(@href, '/v/') ]')]")
for a in all:
    print(a.get_attribute('class'))

【讨论】:

    【解决方案3】:

    你可以尝试几件事...

    1. 你试过了吗

      url = '/v/پیش-فروش-متریال-متفاوت_پیش-فروش_تهران_افسریه_دیوار/AY7nRuql'
      boz = driver.find_elements_by_xpath("//*[contains(@href, '"+ url+ "')]")
      #                        ^ note I added S to get all of them
      print(len(boz))
      

      您没有提供 URL,所以我无法检查这是否有效,但我认为有可能,但您必须检查。

    2. 如果 #1 不起作用,您应该可以这样做

      url = '/v/پیش-فروش-متریال-متفاوت_پیش-فروش_تهران_افسریه_دیوار/AY7nRuql'
      boz = driver.find_element_by_xpath("//*[contains(@href, '"+ url+ "')]")
      classes = boz.get_attribute('class')
      elements = driver.find_elements_by_xpath("//*[@class='" + classes + "']")
      print(len(elements))
      

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2022-07-05
      • 1970-01-01
      • 2021-03-20
      • 2014-08-19
      • 1970-01-01
      • 1970-01-01
      • 2019-11-19
      • 2021-01-13
      相关资源
      最近更新 更多