当我尝试从在try块中定义的Function调用中查找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)
有人可以建议为什么这样做,以及如何纠正搜索无效的会话ID错误并尝试处置会话ID的方式,但是如上所述,我得到了错误。
答案 0 :(得分:1)
我已经在Try块中删除了我的函数,并将try块放入了我的函数中,这有助于纠正该错误,并且是在关闭驱动程序后使用驱动程序时出现错误的主要原因。