请稍等 ...
×

采纳答案成功!

向帮助你的同学说点啥吧!感谢那些助人为乐的人

tony老师:请问一下同样的元素定位值,用封装的方法定位不到,用框架By的方式可以定位到?

#引用封装的element方法
self.element(self.phone).send_keys(phone)
sleep(1)
self.driver.find_element(By.CLASS_NAME,‘next-active’).click()
# self.element(self.nextBtn).click()
如:
self.element(self.phone).send_keys(phone)----可以定位成功;
self.driver.find_element(By.CLASS_NAME,‘next-active’).click()----可以定位成功
self.element(self.nextBtn).click()-----定位失败

重定义方法封装:
#实现页面单个元素定位
def element(self,loc:tuple):
""“
定位元素的方法
”""
return self.driver.find_element(*loc)

报错如下:

in check_response
raise exception_class(message, screen, stacktrace)
selenium.common.exceptions.InvalidArgumentException: Message: invalid
argument: invalid locator
(Session info: chrome=98.0.4758.102)

图片描述

![图片描述

图片描述

正在回答 回答被采纳积分+3

1回答

托尼老师 2022-02-17 09:15:38

从控制台堆栈来看,是元素的定位方式错了。

检查一下那几个报错方法里定义的实例属性,例如self.nextBtn。

如果还不行,把他们的定义截图一下。

0 回复 有任何疑惑可以回复我~
  • 提问者 慕工程8594684 #1
    ----------这里是我的属性定义-------------
    #定义业务登录公共页面
    class CommonLoginPage(Page):
        url='https://account.anywhere.nexttao.com/#/login'
        driver = CHROME().browser
        phone = ('id', 'phone')
        code0 = ('id', 'code0')
        code1 = ('id', 'code1')
        code2 = ('id', 'code2')
        code3 = ('id', 'code3')
        code4 = ('id', 'code4')
        code5 = ('id', 'code5')
    
        # nextBtn=('CLASS_NAME','next-active')
        nextBtn=('CLASS_NAME','next-active')
        loginBtn = ('XPATH','//*[@id="app"]/div/div/ul/li[1]/span')
        tenant = ('CLASS_NAME','enter-btn')
    
    ------这个是nextBtn元素HTML页面的代码----------------
    <div data-v-0f483e86="" class="next next-active"><i data-v-0f483e86="" class="el-icon-loading" style="display: none;"></i>下一步</div>
    回复 有任何疑惑可以回复我~ 2022-02-17 10:22:19
  • 托尼老师 回复 提问者 慕工程8594684 #2
    nextBtn和tenant 的定位方式是class name, 没有下划线; 定位值是next next-active;loginBtn 应该是定位值的问题,可以用浏览器调试器测试一下。
    回复 有任何疑惑可以回复我~ 2022-02-21 11:25:33
  • 提问者 慕工程8594684 回复 托尼老师 #3
    感谢tony老师的,用心答疑,改了调用名称后,该问题已经调试通过;
    针对元素定位细节处,还得找资料深入学习。
    回复 有任何疑惑可以回复我~ 2022-02-21 17:08:50
问题已解决,确定采纳
还有疑问,暂不采纳
意见反馈 帮助中心 APP下载
官方微信