Selenium使用LINK_TEXT或XPATH定位元素时提示“Unable to locate element”问题求助
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
相关产品推荐
相关产品推荐

