如何用Python Selenium点击指定GitHub PAT的删除按钮
解决GitHub PAT删除按钮定位问题
直接从已知的PAT ID出发,利用页面元素的层级关联定位对应删除按钮,这是最靠谱的思路,给你两种实用方案:
方案一:分步定位关联按钮
GitHub的每个PAT条目都在同一个父容器(比如表格行<tr>或列表项<li>)里,先定位目标PAT元素,再向上找到父容器,最后在容器内找删除按钮:
from selenium import webdriver from selenium.webdriver.common.by import By driver = webdriver.Chrome() # 定位目标PAT元素 target_pat = driver.find_element(By.ID, "access-token-836771760") # 向上找到包含删除按钮的父容器(示例为表格行,若为列表则改成ancestor::li) parent_container = target_pat.find_element(By.XPATH, "./ancestor::tr") # 在父容器内定位删除按钮(GitHub删除按钮通常带含Delete的aria-label) delete_btn = parent_container.find_element(By.XPATH, ".//button[contains(@aria-label, 'Delete')]") delete_btn.click()
方案二:XPath一步到位
把层级关联逻辑整合到一条XPath里,更简洁:
delete_btn = driver.find_element(By.XPATH, "//div[@id='access-token-836771760']/ancestor::tr//button[contains(@aria-label, 'Delete')]") delete_btn.click()
调整提示
- 如果父容器不是表格行,右键检查目标PAT元素,看它的父容器标签(比如
<div class="token-item">),把ancestor::tr改成对应标签即可,比如ancestor::div[contains(@class, 'token-item')]。 - 若删除按钮的特征不是aria-label,可替换成实际检查到的属性,比如类名
btn-danger,则XPath改为//button[contains(@class, 'btn-danger')]。
内容的提问来源于stack exchange,提问作者a.t.
相关产品推荐
相关产品推荐

