如何使用Selenium Python单击具有特定背景的第一个匹配元素

发布于 2025-01-18 12:51:55 字数 203 浏览 0 评论 0 原文

HTML:

<div class="__section-image" style="background-image: url(&quot;/img/all/05_element/continentImg/1.png&quot;);"></div>

该网站有很多HTML。我想单击第一个。

HTML:

<div class="__section-image" style="background-image: url("/img/all/05_element/continentImg/1.png");"></div>

The website have a lot of this html. I want to click the first of them.

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

吹梦到西洲 2025-01-25 12:51:55

要单击第一个匹配元素,您可以使用以下任何一个 /em>

  • 使用 css_selector

      driver.find_elements(by.css_selector,“ div [class ='__ section-image']]”)[0] .click()
     
  • 使用 xpath

      driver.find_elements(by.xpath,“ // div [@class ='__ section-image']”)[0] .click()
     

理想情况下单击第一个匹配元素,您需要诱导 webdriverwait a href =“ https://stackoverflow.com/a/64770041/7429447”> visibility_of_All_ELEments_Located() ,您可以使用以下任何一个 loc> loc> loc> loc>

  • 使用 css_selector

      webDriverWait(驱动程序,20).ultil(ec.visibility_of_all_elements_located(((by.css_selector
     
  • 使用 xpath

      webDriverWait(驱动程序,20).ultil(ec.visibility_of_all_eltements_located(((by.xpath,“ // div [@class ='__ ___ section-imimage'])))[0]).click()).click()
     
  • 注意:您必须添加以下导入:

     来自selenium.webdriver.support.ui导入webdriverwait
    从selenium.webdriver.common.通过进口
    从selenium.webdriver.support进口预期_conditions作为ec
     

To click on the first matching element you can use either of the following locator strategies:

  • Using css_selector:

    driver.find_elements(By.CSS_SELECTOR, "div[class='__section-image']")[0].click()
    
  • Using xpath:

    driver.find_elements(By.XPATH, "//div[@class='__section-image']")[0].click()
    

Ideally to click on the first matching element you need to induce WebDriverWait for the visibility_of_all_elements_located() and you can use either of the following locator strategies:

  • Using CSS_SELECTOR:

    WebDriverWait(driver, 20).until(EC.visibility_of_all_elements_located((By.CSS_SELECTOR, "div[class='__section-image']")))[0].click()
    
  • Using XPATH:

    WebDriverWait(driver, 20).until(EC.visibility_of_all_elements_located((By.XPATH, "//div[@class='__section-image']")))[0].click()
    
  • Note: You have to add the following imports :

    from selenium.webdriver.support.ui import WebDriverWait
    from selenium.webdriver.common.by import By
    from selenium.webdriver.support import expected_conditions as EC
    
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文