以下是元素的HTML代码:
<input maxlength="64" name="pskSecret" class="text" id="pskSecret" value="" size="32" type="text">
这是我的python代码,它试图选择它:
self.driver.find_element_by_id("pskSecret").clear()
self.driver.find_element_by_id("pskSecret").send_keys(data) # data is variable
但是我得到了例外,说明硒无法找到该元素。 可能导致问题的任何想法
编辑:该元素也在iframe中,但是我正在访问其中正常工作的其他元素。
答案 0 :(得分:0)
可能在您要查找元素时,由于时序问题,无法在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")
找到元素之前切换该框架