一个div内的硒计数div

2024-10-03 23:27:17 发布

您现在位置:Python中文网/ 问答频道 /正文

我想用selenium计算一个div中的div

enter image description here

到目前为止,这是我的代码,但我不明白为什么这不起作用。它返回的长度为0

available = len(browser.find_elements_by_xpath("//div[@class='sc-AykKC.sc-AykKD.slug__RaffleContainer-sc-10kq7ov-2.eujCnV']/div"))

Tags: 代码divbrowserbylenseleniumelementsfind
1条回答
网友
1楼 · 发布于 2024-10-03 23:27:17

要使用Selenium在其父<div>内将值为alt属性的<div>标记计数为Closed,可以使用以下基于Locator Strategies中的任何一种:

  • 使用text()

    available = len(browser.find_elements_by_xpath("//h2[text()='List']//preceding::div[1]//div[@alt='Closed']"))
    
  • 使用contains()

    available = len(browser.find_elements_by_xpath("//h2[contains(., 'List')]//preceding::div[1]//div[@alt='Closed']"))
    

理想情况下,您必须为visibility_of_all_elements_located()诱导WebDriverWait,并且您可以使用以下任一定位策略

  • 使用text()

    available = len(WebDriverWait(driver, 20).until(EC.visibility_of_all_elements_located((By.XPATH, "//h2[text()='List']//preceding::div[1]//div[@alt='Closed']"))))
    
  • 使用contains()

    available = len(WebDriverWait(driver, 20).until(EC.visibility_of_all_elements_located((By.XPATH, "//h2[contains(., 'List')]//preceding::div[1]//div[@alt='Closed']"))))
    
  • 注意:您必须添加以下导入:

    from selenium.webdriver.support.ui import WebDriverWait
    from selenium.webdriver.common.by import By
    from selenium.webdriver.support import expected_conditions as EC
    

相关问题 更多 >