Selenium无法按id选择元素

2024-04-27 04:15:09 发布

您现在位置:Python中文网/ 问答频道 /正文

以下是元素的HTML代码:

<input maxlength="64" name="pskSecret" class="text" id="pskSecret" value="" size="32" type="text">

下面是我的python代码,它试图选择它:

^{pr2}$

但是我得到了一个异常,声明selenium无法定位元素。 你知道是什么引起了这个问题吗

编辑:元素也在一个iframe中,但是我正在访问它中正常工作的其他元素。在


Tags: 代码textnameid声明元素inputsize
1条回答
网友
1楼 · 发布于 2024-04-27 04:15:09

可能是当您要查找元素时,由于时间问题,它无法加载到DOM上。您应该尝试使用WebDriverWait等待元素出现,如下所示:

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



wait = WebDriverWait(self.driver, 10)

input = wait.until(EC.visibility_of_element_located((By.ID, "pskSecret")))
input.clear()
input.send_keys(data)

注意:如果这个元素在任何一个框架内,在使用self.driver.switch_to_frame("your frame id or name")查找元素之前,您需要切换该框架

相关问题 更多 >