多测师是一家拥有先进的教学理念,强大的师资团队,业内好评甚多的接口自动化测试培训机构!

17727591462

联系电话

您现在所在位置:接口自动化测试培训 > 新闻资讯

python+selenium之上传与定位-自动化测试

更新时间:2023-01-09 09:12:00 作者:多测师 浏览:33

  A.上传文件:

  1、input标签类元素文件上传

  先定位到文件上传元素id,再使用方法send_keys(文件路径)

  driver.find_element_by_name(‘name’).sendkeys(‘e:\\123.txt’)

  2、非input标签

  备注:非input标签的文件上传,就不适用于此方法了,需要借助autoit工具或者SendKeys第三方库。

  3、使用sendkeys库实现文件上传

  首先安装库:pip install sendkeys

  实现上传:首先定位到上传按钮并点击按钮弹出os框

  其次SendKeys.SendKeys(file) #参数为上传文件路径

  SendKeys.SendKeys('{ENTER}') #参数为ENTER表示键盘enter建

python+selenium之上传与定位-自动化测试

  B.含有富本编辑文本框定位

  方法一:

  如果iframe有ID,首先应该使用js去实现,代码如下:

  set = 'document.getElementById("content_ifr").contentWindow.document.body.innerHTML="%s"' %(content)

  driver.execute_script(set)

  content_ifr:iframe的ID

  innerHTML也可以使用innerText

  方法二:

  如果没有id

  js="document.getElementsByClassName(\"wind_editor_iframe\")

  [0].contentWindow.document.body.innerHTML=\"%s\"" %("内容")

  driver.execute_script(js)

  请注意这里使用的是getElementsByClassName,因为该富文本编辑器所在的iframe没有id

  方法三:(有时候不一定可以)

  找文本框body,即可以输入内容的地方(id,或name)

  driver.switch_to.frame("framename")

  driver.find_element_by_id("tinymce").send_keys(Keys.TAB)

  driver.find_element_by_id("tinymce").send_keys(u’你是’)

  方法四:(CKEditor编辑器)

  seteditor = 'window.frame_editor.getUe().setContent("%s")' %(123456)

  self.driver.execute_script(seteditor)

  注:编辑器不一样,其封装方法也不同,F12中可查找具体方法。

  方法五:(运用frame,进进出出)----万能方法,框架有几个,跳几个

  driver.switch_to_frame('frame_editor')

  driver.switch_to_frame('ueditor_0')

  driver.find_element_by_tag_name('body').send_keys(123456)

  driver.switch_to_default_content()

  driver.switch_to.frame('frame_bid_notice')

  以上内容为大家介绍了自动化测试中的python+selenium之上传与定位,本文由多测师亲自撰写,希望对大家有所帮助。了解更多自动化测试相关知识:https://www.aichudan.com/xwzx/

联系电话

17727591462

返回顶部