You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何使用Python Selenium点击HTML中最后一个ID元素?

How to Click the Last Element with an ID Using Python Selenium

Got it, let's walk through how to target and click the last element with an ID in your provided HTML structure using Python Selenium. Here's a straightforward, reliable approach:

Step 1: Identify the Target Elements

First, we need to locate all div elements inside the parent container (div#folders-navigation-list) that have an id attribute. We can use an XPath selector to do this efficiently.

Step 2: Wait for Elements to Load (Critical for Dynamic Content)

Before interacting with elements, it’s best practice to wait for them to be present in the DOM to avoid race conditions. We’ll use WebDriverWait for this to ensure the page has fully loaded the elements we need.

Step 3: Select the Last Element and Click It

Once we have the list of elements, we simply grab the last one (using Python’s list indexing [-1]) and trigger a click action.

Full Code Example

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

# Initialize your browser driver (Chrome in this example)
driver = webdriver.Chrome()

try:
    # Navigate to your target page first
    driver.get("your_page_url_here")

    # Wait up to 10 seconds for all relevant elements to be present in the DOM
    elements_with_ids = WebDriverWait(driver, 10).until(
        EC.presence_of_all_elements_located(
            (By.XPATH, "//div[@id='folders-navigation-list']/div[@id]")
        )
    )

    # Check if we found any elements, then click the last one
    if elements_with_ids:
        last_element = elements_with_ids[-1]
        last_element.click()
        print("Successfully clicked the last element with an ID!")
    else:
        print("No elements with IDs found inside the parent container.")

finally:
    # Clean up by closing the driver when done
    driver.quit()

Breakdown of the XPath Selector

The XPath //div[@id='folders-navigation-list']/div[@id] works by:

  1. Locating the parent container with the ID folders-navigation-list.
  2. Selecting all direct div children of that container that have an id attribute (this works regardless of the specific ID value, making it flexible if IDs follow varying patterns).

Additional Tips

  • If your elements need to be clickable (not just present), you can extend the wait to target the last element specifically with EC.element_to_be_clickable.
  • If the IDs follow a strict pattern (like folders-navigation-list-0, folders-navigation-list-1), you could use //div[starts-with(@id, 'folders-navigation-list-')] as an alternative XPath, but the first approach is more adaptable to unexpected ID variations.

内容的提问来源于stack exchange,提问作者nrs

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.21 07:56:49