一、实现页面自动慢慢下滑到底部
# 页面滑动到底部
def slide_page():
temp_height = 0
while (1):
js = "window.scrollBy(0,200)" # 每次向下滚动200高度
driver.execute_script(js)
time.sleep(0.2)
# 获取当前滚动条距离顶部的距离
check_height = driver.execute_script(
"return document.documentElement.scrollTop || window.pageYOffset || document.body.scrollTop;")
if check_height == temp_height:
break
temp_height = check_height
二、
selenium.common.exceptions.WebDriverException: Message: invalid session id
原因是因为在调用driver的时候发现已经调用了driver.close()。因此driver失效了
三、 校验页面按钮的时候结合滑动页面至元素可见
# 滑动至元素可见
def slideToElement(xpath):
ele = driver.find_elements_by_xpath(xpath)
ele = ele[0]
driver.execute_script("arguments[0].scrollIntoView();", ele)
time.sleep(1)
'''
@ pageName 检查的页面名称/模块
@ pageurl 检查的页面url
@ xpathAndTitle key:页面按钮xpath, value:按钮点击后页面标题 type -> dict
'''
def checkButton(pageName, pageurl, xpathAndTitle):
urlOpen(url=pageurl)
try:
for xpath,title in xpathAndTitle.items():
logg.info(f'按钮 xpath = {xpath}, 跳转后页面 title = {title}')
if elementExists(xpath):
click(xpath)
else:
slideToElement(xpath)
click(xpath)
if driver.title == title:
logg.info(f'{pageName} 按钮点击跳转正确。')
driver.back()
time.sleep(1)
else:
logg.error(f'{pageName} 按钮失效,请检查。')
close()
except Exception as e:
close()
logg.error(f'{pageName}按钮失效,请检查。\n{e}')
持续更新ing