当前位置: 首页 > 面试题库 >

尝试单击循环中的链接时出现StaleElementReferenceException

西门建安
2023-03-14
问题内容

请单击下面的链接以查看我单击 ****1
的链接

BEAUTY”
。我正在使用此代码单击“ Beauty”链接

driver = webdriver.Chrome("C:\\Users\\gaurav\\Desktop\\chromedriver_win32\\chromedriver.exe")
driver.maximize_window()
driver.get("http://shop.davidjones.com.au")
object = driver.find_elements_by_name('topCategory')
  for ea in object:
  print ea.text
    if ea.text == 'Beauty':
      ea.click()
  1. 成功单击链接后,出现以下异常,有人可以告诉我为什么得到它吗?
        Traceback (most recent call last):
      File "C:/Users/gaurav/PycharmProjects/RIP_CURL/login_raw.py", line 10, in <module>  
    print ea.text  
      File "C:\Python27\lib\site-packages\selenium\webdriver\remote\webelement.py", line 73, in text  
    return self._execute(Command.GET_ELEMENT_TEXT)['value']  
      File "C:\Python27\lib\site-packages\selenium\webdriver\remote\webelement.py", line 493, in _execute  
    return self._parent.execute(command, params)  
      File "C:\Python27\lib\site-packages\selenium\webdriver\remote\webdriver.py", line 252, in execute  
    self.error_handler.check_response(response)  
      File "C:\Python27\lib\site-packages\selenium\webdriver\remote\errorhandler.py", line 194, in check_response
    raise exception_class(message, screen, stacktrace)  
    selenium.common.exceptions.StaleElementReferenceException: Message: stale element reference: element is not attached to the page document 
      (Session info: chrome=63.0.3239.132) 
      (Driver info: chromedriver=2.34.522940 (1a76f96f66e3ca7b8e57d503b4dd3bccfba87af1),platform=Windows NT 6.2.9200 x86_64)
    

问题答案:

试试这个:

from selenium import webdriver

print("bot started")

#chromeOptions = webdriver.ChromeOptions()

#driver = webdriver.Chrome(chrome_options=chromeOptions)

def specific_text(text, ea):
    return str(text) == ea.text

driver = webdriver.Chrome("C:\\Users\\gaurav\\Desktop\\chromedriver_win32\\chromedriver.exe")
driver.maximize_window()
driver.get("http://shop.davidjones.com.au")
object_ = driver.find_elements_by_name('topCategory')
text_headers = [str(specific_text('Beauty', ea)) for ea in object_]
#print(text_headers)
index_text = text_headers.index("True")
#print(index_text)
object_[index_text].click()


 类似资料:
  • all_divs包含我得到的所有链接。我需要点击它们,但当我尝试点击它们时,selenum会抛出一个陈旧的错误: “Selenium.Common.Exceptions.StaleElementReferenceException:消息:的元素引用已过时;该元素不再附加到DOM,不在当前帧上下文中,或者文档已刷新。”

  • 我试图使tableview可点击,它将返回被点击的单元格中的文本。当我试图在NetBeans中编译时,我收到了两个错误。所有代码都摘自tableview官方教程“示例12-11:单元格编辑的替代解决方案”&摘自StackOverflow.com的答案。以下是错误: 类型参数MouseEvent不在类型变量T cell.addeventFilter(MouseEvent.mouse_clicked,

  • 我有问题,点击链接从弹出窗口。单击按钮后,弹出窗口显示约3秒: 我正试图通过单击“取消” 和 但是链接没有被点击。我不知道如何断言工作在这个弹出

  • 我使用以下代码滚动页面并跟踪quora上的用户(链接到页面:http://www.quora.com/Kevin-Rose/followers),向下滚动后会加载一定数量的用户,我使用的代码如下: 我得到以下错误: 消息:u'Element不再附加到DOM'; StackTrace: 编辑1:我尝试使用,但函数的输出对象显然不是可以迭代的链接列表。

  • 在selenium中,在python中,我必须循环使用Jira1、jira2、jira3链接 对于范围(1,4)中的i: driver.find_element(By.XPATH,"//a[text()='Jira'] /str(i)")。 它给了我一个错误NoSuchElementException:没有这样的元素:无法定位元素:{“方法”:“xpath”,“选择器”:“//a[text()='

  • 问题内容: 我在Google上搜索的次数越多,我就会越来越困惑。 我从CSV导入了一个长度未知的名称列表以及其他一些详细信息,然后我需要将其转换为Person对象并将其存储在名为people的列表中,该列表是该类Club的实例变量,它的列表成员基本上。 这是非常复杂的事情的非常简化的版本,我需要在while中循环遍历文件,为每行创建对象,然后将其添加到列表集合中。 但是,当我运行代码时,我一直收到