当前位置: 首页 > news >正文

湘潭做网站 定制磐石网络网站推广优化教程

湘潭做网站 定制磐石网络,网站推广优化教程,广州做网站app,移动商城网站建设今日遇到一个很奇怪的问题 case1:当使用顺序结构直接从登录到点击页面菜单,则可以正常点击菜单 case2:若把登录分离开,采用封装的方法点击菜单则会提示:‘NoneType’ object has no attribute ‘click’ 具体页面如下&#xff0c…

今日遇到一个很奇怪的问题
case1:当使用顺序结构直接从登录到点击页面菜单,则可以正常点击菜单
case2:若把登录分离开,采用封装的方法点击菜单则会提示:‘NoneType’ object has no attribute ‘click’

具体页面如下,请大家帮忙分析一下是什么原因?
image.png
1、页面的菜单元素定位使用ID的方法,封装在allelements.yaml中
image.png
2、元素定位方法,以及元素点击方法封装如下:

    def get_element(self, locator,timeout=Env.GET_ELEMENT_TIMEOUT,smp_frequency=Env.SMP_FREQUENCY, desc='') -> WebElement:"""获取元素:param locator: 元素的定位:param timeout: 显示等待的超时时长:param smp_frequency:轮询频率(隐式等待):param desc:元素的描述(元素的名称):return:定位到的元素"""try:return WebDriverWait(self.driver, timeout, smp_frequency). \until(EC.visibility_of_element_located(locator))# return self.driver.find_element(*locator)except:# 定位不到元素时,截图:文件的命名(定位哪一个元素+时间)curtime = time.strftime('%Y%m%d%H%M%S')self.driver.save_screenshot(f'{SMP_Path.screenshots_path} / {desc}{curtime}.png')def click_element(self, locator, desc=''):  # 普通点击self.get_element(locator, desc=desc).click()

3、如果在登录模块中直接连续写嗲你菜单的操作,则可正常点击,如下:

import time
from PageObiects.mainPage import MainPage
from Common.BasePage import BasePage
from configs.env import Env
from Common.allelements import Loginpageelements, Mainpagelementsclass LoginPage(BasePage):def open_loginpage(self):self.open_url(url=Env.HOST)def login_host_(self, username, password):# self.open_url(url=Env.HOST)LoginPage.open_loginpage(self)self.input_text(locator=self.username_input, text=username)  # 属性在运行后才产生,所以是标黄的self.input_text(locator=self.password_input, text=password)  # 输入password的定位器,以及文本内容self.click_element(self.login_button)self.click_element(self.first_menu, desc='点击菜单按钮')return MainPage()def logout(self):self.click_element(Mainpagelements.setings)self.click_element(Mainpagelements.quit)self.click_element(Mainpagelements.comfirm_)if __name__ == '__main__':login = LoginPage()login.login_host_(username='admin', password='111111')time.sleep(2)login.logout()

运行结果如下:可正常运行代码,且点击菜单元素正常
image.png

4、在登陆模块中改成如下代码:

import time
from PageObiects.mainPage import MainPage
from Common.BasePage import BasePage
from configs.env import Env
from Common.allelements import Loginpageelements, Mainpagelementsclass LoginPage(BasePage):def open_loginpage(self):self.open_url(url=Env.HOST)def login_host_(self, username, password):# self.open_url(url=Env.HOST)LoginPage.open_loginpage(self)self.input_text(locator=self.username_input, text=username)  # 属性在运行后才产生,所以是标黄的self.input_text(locator=self.password_input, text=password)  # 输入password的定位器,以及文本内容self.click_element(self.login_button)# self.click_element(self.first_menu, desc='点击菜单按钮')  此处不做点击操作return MainPage()def logout(self):self.click_element(Mainpagelements.setings)self.click_element(Mainpagelements.quit)self.click_element(Mainpagelements.comfirm_)if __name__ == '__main__':login = LoginPage()login.login_host_(username='admin', password='111111')time.sleep(2)MainPage().get_element('id', 'cai').click()  # 在此处作点击操作login.logout()

运行结果如下:
image.png
为了验证该对象是否真的为Nonetype,我在主页面添加了print做调试,调试结果如下:image.png
通过以上对菜单元素的输出,可得知,改元素并不是nonetype,与登录操作连续执行时,可正常的点击。

那么为什么,相同的定位方式,与登录连续着写可正常点击,而分开成两个部分编写就提示为Nonetype呢?是否有大佬可以解答一下?

http://www.dinnco.com/news/84981.html

相关文章:

  • 建立网站还是建设网站拉新注册app拿佣金
  • 什么app做网站百度搜索词排名
  • 三亚网站建设兼职电商培训心得体会
  • 邢台市政唐山seo优化
  • 孟州哪里可以做网站持啊传媒企业推广
  • 东莞最近发生了什么大事简述seo的基本步骤
  • 怎么做引流网站爱链接
  • 怎么自己改自己做的网站的图片商品标题关键词优化
  • 河南网站建设软件电商平台怎么搭建
  • 做网站每个月可以赚多少钱网站一级域名和二级域名
  • 北京百度糯米团购有做网站的电话吗长沙网站建设公司
  • 东莞网站优化公优秀软文案例
  • 做网站多少钱 网络服务超能搜索引擎系统网站
  • 药品在网站上做标签有哪些分类seo01
  • 建站快车用户登录网络销售平台有哪些软件
  • 保定网站报价什么是网站推广策略
  • cnetos 做网站服务学网络营销好就业吗
  • 腾讯风铃怎么建设网站市场营销公司
  • 温州网站建设方案托管免费引流推广的方法
  • 做视频网站需要什么空间吗系统优化助手
  • ps海报素材网站日照seo公司
  • 合肥网页设计公司公司网站优化
  • 网站编辑器做段落空格网站建设明细报价表
  • 模版建网站安卓优化清理大师
  • 广东网站开发设计网页设计的流程
  • 如何做网站ab测试关键词优化公司电话
  • php 网站迁移百度seo软件曝光行者seo
  • 微信24小时人工客服上海seo怎么优化
  • 怎样用云服务器做网站seo快速排名软件品牌
  • 河南锦源建设有限公司网站东莞关键词自动排名