【发布时间】:2018-01-19 17:33:13
【问题描述】:
使用 Chrome 驱动 selenium 时出现错误:“无效元素状态”。
我正在尝试做的事情: 将一些数据传入http://www.dhl.de/onlinefrankierung
我的第一个问题是,当我尝试在名为“Nachnahme”的复选框上使用 .click() 方法时,没有任何反应,也没有进行检查。
当您手动进行检查时,页面会刷新并打开其他字段,这就是我要访问的内容。
在尝试使用.send_keys() 方法传入数据时发生第二个问题,即引发无效元素状态。
到目前为止,这是我的代码:
from selenium import webdriver
driver = webdriver.Chrome('C:\\Users\\Owner\\AppData\\Local\\Programs\\Python\\Python36-32\\Lib\\site-packages\\chromedriver.exe')
driver.get('http://www.dhl.de/onlinefrankierung')
product_element = driver.find_element(by='id', value='bpc_PAK02')
product_element.click()
services_element = driver.find_element(by='id', value='sc_NNAHME')
services_element.click()
address_element_name = driver.find_element(by='name', value='formModel.sender.name')
address_element_name.send_keys("JackBlack")
错误: C:\Users\Owner\AppData\Local\Programs\Python\Python36-32\python.exe "C:/Users/Owner/Desktop/UpWork/Marvin Sessner/script.py" Traceback (最近一次通话最后):文件“C:/Users/Owner/Desktop/UpWork/Marvin Sessner/script.py”,第 23 行,在 address_element_name.send_keys("tester") 文件 "C:\Users\Owner\AppData\Roaming\Python\Python36\site-packages\selenium\webdriver\remote\webelement.py", 第 352 行,在 send_keys 中 'value':keys_to_typing(value)}) 文件 "C:\Users\Owner\AppData\Roaming\Python\Python36\site-packages\selenium\webdriver\remote\webelement.py", 第 501 行,在 _execute return self._parent.execute(command, params) File "C:\Users\Owner\AppData\Roaming\Python\Python36\site-packages\selenium\webdriver\remote\webdriver.py", 第 308 行,执行中 self.error_handler.check_response(response) 文件 "C:\Users\Owner\AppData\Roaming\Python\Python36\site-packages\selenium\webdriver\remote\errorhandler.py", 第 194 行,在 check_response 中 raise exception_class(message, screen, stacktrace) selenium.common.exceptions.InvalidElementStateException: 消息: 无效元素状态(会话信息:chrome=HIDDEN)(驱动程序信息: chromedriver=隐藏 (5b82f2d2aae0ca24b877009200ced9065a772e73),平台=Windows NT 10.0.15063 x86_64)
【问题讨论】:
-
你能用完整的错误堆栈跟踪以及哪个元素和哪一行更新问题吗?
-
我刚刚更新了问题