“element is not attached to the page document“报错解决

该博客介绍了在使用Selenium自动化测试时,如何通过引入WebDriverWait来解决元素不可见的问题。通过设置等待时间,确保元素在执行点击操作前变为可见,从而避免了找不到元素的错误。示例代码展示了如何定位并点击两个菜单项,增加了测试的稳定性。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

在元素定位正确的前提下,页面报这个错说明是没有找到这个元素,加一个显示等待,直到元素可见再进行点击,这样就可以完美解决这个问题

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

loc_oper = (By.XPATH,'//span[text() = "运营管理"]/parent::div[@class = "ant-menu-submenu-title"]')
loc_op = (By.XPATH,'//span[text() = "运营管理"]/ancestor::li[@role = "menuitem"]//a[text()= "广告管理"]')

#加入等待时间

wait = WebDriverWait(driver,20)

#一直等待到元素loc_oper可见并点击
wait.until(EC.visibility_of_element_located(loc_oper))

driver.find_element(*loc_oper).click()

#一直等待到元素loc_op可见并点击
wait.until(EC.visibility_of_element_located(loc_op))

driver.find_element(*loc_op).click()

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值