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

Selenium使用LINK_TEXT或XPATH定位元素时提示“Unable to locate element”问题求助

各位大佬好!我最近在用Selenium写一个自动登录Kelio的脚本,卡在了元素定位这一步——用LINK_TEXT或者XPATH定位后续元素时,总是抛出“Unable to locate element”的错误,实在搞不定,来请教下大家!

先贴出我写的Browser类代码:

import time
from selenium import webdriver
from selenium.webdriver.common.by import By
from selenium.webdriver.edge.service import Service

class Browser:
    browser, service = None, None

    def __init__(self, driver: str):
        self.service = Service(driver)
        self.browser = webdriver.Edge()  # webdriver.Edge(service=self.service)

    def open_page(self, url: str):
        self.browser.get(url)

    def close_browser(self):
        self.browser.close()

    def add_input(self, by: By, value: str, text: str):
        field = self.browser.find_element(by=by, value=value)
        field.send_keys(text)
        time.sleep(1)

    def click_button(self, by: By, value: str):
        button = self.browser.find_element(by=by, value=value)
        button.click()
        time.sleep(1)

    def login_kelio(self, user: str, password: str):
        self.add_input(by=By.ID, value="username", text=user)
        self.add_input(by=By.ID, value="password", text=password)
        self.click_button(by=By.XPATH, value='//input[@value="Confirm"]')
        self.click_button(by=By.XP...

目前的情况是:用户名和密码的输入都能正常完成,点击“Confirm”按钮也没问题,但之后要定位的下一个元素(我打算用LINK_TEXT或者XPATH)就找不到了。我手动检查过页面,那个元素明明存在,可脚本就是定位不到。

我自己猜是不是页面加载的问题?但我已经加了time.sleep(1),还是不行。会不会是元素在iframe里?或者我的XPATH/LINK_TEXT表达式写错了?

有没有大佬能帮我分析下可能的原因,或者给点排查的方向呀?谢谢大家!

备注:内容来源于stack exchange,提问作者Heijs7

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.04.17 08:29:34