python - 执行 send_key 或 clear() 时出现 InvalidElementStateException
问题描述
url='https://jwt.io/'
driver.get(url)
driver.execute_script("window.scrollTo(0, 1000)")
time.sleep(5)
element_data='/html/body/section[3]/div/div/div[3]/div[2]/div[2]/div/div[2]/div/div/div[4]'
#hightlight_body=\
element_data1=driver.find_element_by_xpath(element_data).clear()
错误:selenium.common.exceptions.InvalidElementStateException:消息:无效元素状态(会话信息:chrome=92.0.4515.159)
解决方案
打开此站点时,会出现“接受 cookie”弹出窗口,因此您必须先将其关闭。
该元素位于 iframe 内。
因此,您首先必须切换到 iframe,关闭弹出窗口,切换到默认内容,然后您才能继续编写代码。
你的代码应该是这样的:
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(driver, 20)
url='https://jwt.io/'
driver.get(url)
wait.until(EC.frame_to_be_available_and_switch_to_it((By.CSS_SELECTOR,'iframe[title="TrustArc Cookie Consent Manager"]')))
wait.until(EC.visibility_of_element_located((By.XPATH, '//a[contains(text(),'Accept All')]'))).click()
driver.switch_to.default_content()
driver.execute_script("window.scrollTo(0, 1000)")
time.sleep(5)
element_data='/html/body/section[3]/div/div/div[3]/div[2]/div[2]/div/div[2]/div/div/div[4]'
#hightlight_body=\
element_data1=driver.find_element_by_xpath(element_data).clear()
推荐阅读
- odoo - Odoo 10 安装永远不会完成(设置 odoo)
- react-native - 不能在 react-native 中使用 galmorous 包
- if-statement - Google 表格:如何使用 MATCH 函数创建嵌套的 IF 语句?
- java - 使用 java 分析线程转储
- robotframework - 订阅以获取在机器人框架 MQTT 库中不起作用的消息
- javascript - 为什么车把将脚本模板编译为 CDATA
- c++ - 对于在 AIX OS 上运行的 C++ 应用程序,是否有任何好的动态内存分析器
- python - AttributeError:“str”对象没有属性“status_code”
- android - Android Studio 布局预览中的 Kotlin android 扩展和自定义视图
- ios - 将 SCNNode 固定在没有 ARPlaneAnchor 的位置