提问人:Jeff Gordon 提问时间:11/8/2023 更新时间:11/8/2023 访问量:30
在 selenium - python 中收到“StaleElementReferenceException”,我该如何处理?
Receiving a 'StaleElementReferenceException' in selenium - python, how do I handle this?
问:
我在将键发送到硒中的文本输入栏时遇到了一个奇怪的问题。最奇怪的部分是我看到字符在栏中出现一秒钟,然后它就消失了。我通过循环将每个(字符串)键发送到元素,您会看到前几个字母填充,但突然间它们消失了,然后我收到错误。如果我不使用循环,它最终会填充整个单词一秒钟,然后消失,但它会进入下一步。我必须完成整个表格才能继续,所以我不能只是消除该步骤。for
StaleElementReferenceException
send_keys
我正在尝试抓取的 HTML:
<input id="plaintiffDetails:city" name="plaintiffDetails:city" type="text" value=""
onchange="jsf.ajax.request('plaintiffDetails:city',event,{execute:'@this ',render:'plaintiffDetails:additionalInfo ','javax.faces.behavior.event':'valueChange'})"
maxlength="30" size="37"> == $0
我不确定该部分是否影响了这一点,因为我不熟悉 JavaScript。onchange=
法典:
city_input = WebDriverWait(driver,10,ignored_exceptions=ignored_exceptions).until(EC.presence_of_element_located(\
(By.XPATH, "//input[@name='plaintiffDetails:city']")))
for c in client_city:
city_input.send_keys(c)
错误:
StaleElementReferenceException Traceback (most recent call last)
Cell In[23], line 347
344 city_input = WebDriverWait(driver,10,ignored_exceptions=ignored_exceptions).until(EC.presence_of_element_located(\
345 (By.XPATH, "//input[@name='plaintiffDetails:city']")))
346 for c in client_city:
--> 347 client_input.send_keys(c)
349 wait()
351 zip_input = WebDriverWait(driver,10,ignored_exceptions=ignored_exceptions).until(EC.presence_of_element_located(\
352 (By.XPATH, "//*[@id='plaintiffDetails:zip']")))
这特别奇怪,因为我已经设置了这个问题所引用的。然而,它仍然给了我这个例外。有谁知道为什么硒会产生这个异常/如何处理它?ignored_exceptions
ignored_exceptions=(NoSuchElementException,StaleElementReferenceException)
答: 暂无答案
评论