python自动化web测试-表格元素相对位置定位方式

前言

最近一直被网页表格元素定位的问题困扰。今天下午终于尝试到了成功的方法,在此分享记录。

 #定位主页
 		main_xpath = '//main[@class="el-main main"]'
        locater = self.driver.find_element_by_xpath(main_xpath)
        time.sleep(1)
        #读取表内容,第一个功放值
        cssStr1 = 'main > div > div.el-tabs__content > div.box-card > div.el-table.el-table--fit.el-table--border.el-table--scrollable-x.el-table--enable-row-hover.el-table--enable-row-transition.el-table--mini > div.el-table__body-wrapper.is-scrolling-left > table > tbody > tr:nth-child(1) > td.el-table_1_column_9 > div > div > span'
        val = locater.find_element_by_css_selector(cssStr1).text
        print(val)

说明

这个方法是使用相对定位的方式。
先定位一个表格整体框的到返回对象,再通过这个对象定位表格内部元素。
但是,这个方法并不是所有的内嵌表格都有效
如果是内嵌html表格这种估计是不行的,需要通过切换frame的方式。(百度知道的)

说明2

估计是前端框架的问题,网上看了很多方式都无法定位公司自己研发的web前端页面表格元素。
对比后发现,我公司的前端不是使用网上说的iframe等方式。当我使用切换frame时,报错说不存在的frame
但是又无法通过xpath方式一步定位得到数据
最后尝试成功的只有二次定位方才成功。但是貌似有不是百分百成功。
这个问题的原因我是真的无法知晓,希望知识渊博的人可以指点一二,在此提前致谢【ღ( ´・ᴗ・` )比心】

猜你喜欢

转载自blog.csdn.net/qq_40904479/article/details/105590958