测试积点老人 发表于 2020-11-24 11:46:41

ROBOT如何实现非标准控件上传

1.我使用关键字select frame 总是报找不到iframe ,但是html代码中的确是存在的,在这个动作之前我也加了sleep,还是没效果,如下图



4.我想的先切换到这个iframe,定位到元素后,在用autoItLibrary来实现上传附件,可以现在都没切换到这个浮层弹窗

yang1_75 发表于 2020-11-24 15:23:30

建议尝试一下这个方法:
目前Selenium2Library没有可以利用index进行定位的,所以需要自己新增个方法进行定位,在Python 2.7版本下面,打开C:\Python27\Lib\site-packages\SeleniumLibrary\keywords,找到frames.py文件,在select_frame方法下面新增一个方法:
@keyword
    def select_frame_by_index(self, locator, index):
      """Sets frame identified by 'locator' as current frame ,
      if 'locator' is not unique, use index Key attributes for frames are 'id' and 'name'.
      See 'introduction' for details about locating elements.

      Example:
      | select_frame_by_index | tag=iframe | 1 |
      """
      self.info("Selecting frame '%s'." % locator)
      elements = self.find_elements(locator)
      element = elements
      self.driver.switch_to.frame(element)
此时在RobotFramework可以通过如下方式选择frame
select frame by index

郭小贱 发表于 2020-11-25 10:13:16

可以结合这篇帖子看看,http://ask.testfan.cn/question/192

海海豚 发表于 2020-11-25 11:27:26

http://ask.testfan.cn/question/192参考下这个

qqq911 发表于 2020-11-25 11:30:03

不用id试试呢

jingzizx 发表于 2020-11-25 13:22:33

试试其他的方式吧

bellas 发表于 2020-11-25 14:34:44

看看,这个链接吧http://ask.testfan.cn/question/192
页: [1]
查看完整版本: ROBOT如何实现非标准控件上传