zoukankan      html  css  js  c++  java
  • selenium元素定位踩的坑

     想定位立即注册的元素,在定位时总报错找不到元素:

    先想了是不是这个弹框在ifarm里所以定位不到,所以用了:driver.switch_to.farme(driver.find_element_by_xpath("/html/body/div[4]/div[2]/div[2]/div/div/div/div/div/div[3]/a"))

    最后试了会不会是元素没加载出来,所以用了隐形等待implicitly_wait(),解决了问题

    心得:一定要看上下级关系,是否在ifarm,DOM树是写的很明白

    (二)在做selenium自动化的时候,在输入元组参数时少加个*,导致一直报错,在作为参数时一定要加*

    报错代码:

    def FindElement(self,*loc):
    #注意,以下入参为元祖的元素,需要加*
    try:
    ele=WebDriverWait(self.driver,self.outtime,0.5).until(EC.presence_of_element_located(loc))
    return ele
    except Exception as e:
    print("未找到元素,错误为{0}".format(e))

     正确代码:

    def FindElement(self,*loc):
    #注意,以下入参为元祖的元素,需要加*
    try:
    ele=WebDriverWait(self.driver,self.outtime,0.5).until(EC.presence_of_element_located(*loc))
    return ele
    except Exception as e:
    print("未找到元素,错误为{0}".format(e))
  • 相关阅读:
    Linux 添加Nginx 到 service 启动
    PHP编译安装时常见错误解决办法,php编译常见错误
    7 适配器模式
    6 单例模式及其多线程问题
    5 简单工厂、工厂、抽象工厂
    4 装饰者模式
    3 观察者模式
    2 策略模式
    1 UML基础
    代码操作Word时,目录自动更新的两种方法
  • 原文地址:https://www.cnblogs.com/zhifeiji822/p/13085710.html
Copyright © 2011-2022 走看看