美文网首页
「selenium」记学习过程

「selenium」记学习过程

作者: 默默学习的小菜鸟 | 来源:发表于2020-06-30 12:02 被阅读0次

一、实现页面自动慢慢下滑到底部

# 页面滑动到底部
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

相关文章

网友评论

      本文标题:「selenium」记学习过程

      本文链接:https://www.haomeiwen.com/subject/elatqktx.html