python - 获取 selenium.common.exceptions.InvalidSessionIdException:消息:无效会话 ID
问题描述
当我尝试从 try 块中定义的函数调用内部查找 CheckboxClick Web 元素时,以及当我将代码行置于函数外部时,我收到selenium.common.exceptions.InvalidSessionIdException 错误:消息:无效会话 ID并尝试阻止它不会给我任何错误。
代码行
try:
def getrecordsoNpage():
**CheckBoxclick = WebDriverWait(driver, 10).until(EC.element_to_be_clickable((By.CSS_SELECTOR, "#workflow_table > thead > tr > th.first.checkbox-column.checkbox > input"))).click()**
RecordsonOnePage = int(driver.find_element_by_css_selector('#wf_table_footer > form.inline.pull-left > div > label > span').text)
pprint.pprint(RecordsonOnePage)
totalnofpages = math.ceil(TotalNofRecord / RecordsonOnePage)
print(totalnofpages)
return RecordsonOnePage,totalnofpages
except RuntimeError as e:
pprint.pprint(e)
finally:
driver.close()
# driver.quit()
RecordsonOnePage,totalnofpages = getrecordsoNpage()
pprint.pprint(RecordsonOnePage,totalnofpages)
有人可以建议它为什么会这样以及我可以纠正的方法,即我搜索了 Invalid session-id 错误并尝试处理 session id 但得到了如上所述的错误。
解决方案
我已经在 Try 块中删除了我的函数,并将 try 块放在了我的函数中,它有助于纠正该错误,而且是在关闭驱动程序后使用驱动程序时出现错误的主要原因。
推荐阅读
- sql - 在 sql 中使用子查询。显示无输出
- javascript - 在函数中使用 .each() 时,有没有办法避免同时传递 $ 和 $foo ?
- matlab - 交叉验证后如何在 Matlab 中应用学习到的模型
- android - 如何在不使用 OkHttp 自己的字符串方法且不丢失信息的情况下将响应体从 byteArray 转换为字符串?
- html - 在没有可视化问题的情况下无法降低 div 高度
- haskell - Haskell:多路 if 表达式需要打开 MultiWayIf
- html - 避免使用移动键盘调整 CSS 背景图像的大小
- c# - 我正在编写 ac# windows 窗体代码
- node.js - Firebase 存储和云功能:如何从 url 加载内容并保存到存储中?
- javafx - 错误:使用 ChoiceBox 选择加载第二个 ChoiceBox 中的内容