有没有办法识别具有 3 类 的元素?

Is there a way to identify the elements having 3 classes?

我遇到了元素有 3 类 的情况,我需要获取名为“data-source”的属性值并且应该获取该值。

谁能帮我解决这个问题?

提前致谢

获取具有 3 类 的元素的属性 data-source 例如classAclassBclassC 您可以使用 您可以使用以下任一项 :

  • 使用cssSelector:

    System.out.println(driver.findElement(By.cssSelector(".classA.clasB.classC")).getAttribute("data-source"));
    
  • 使用xpath:

    print(driver.find_element_by_xpath("//*[@class='classA classB classC']").get_attribute("data-source"))
    

理想情况下,单击需要为 element_to_be_clickable() 引入 的元素,您可以使用以下

  • 使用cssSelector:

    System.out.println(new WebDriverWait(driver, 20).until(ExpectedConditions.visibilityOfElementLocated(By.cssSelector(".classA.clasB.classC"))).getAttribute("data-source"));
    
  • 使用xpath:

    print(WebDriverWait(driver, 20).until(EC.visibility_of_element_located((By.XPATH, "//*[@class='classA classB classC']"))).get_attribute("data-source"))
    
  • 注意:对于Python,您必须添加以下导入:

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