如何在不使用机器人框架和python滚动的情况下获取所有匹配元素?
发布时间:2020-12-20 13:17:41 所属栏目:Python 来源:网络整理
导读:我需要将所有符合xpath的元素列入列表而不需要滚动到所有元素,因为我永远不知道是否真的需要滚动(取决于监视器的分辨率和列的宽度也可以由开发人员更改)我会不知道在哪里滚动,因为我正在检查列的存在,在某些情况下,正确的结果也是列不存在… 我在测试中使用
我需要将所有符合xpath的元素列入列表而不需要滚动到所有元素,因为我永远不知道是否真的需要滚动(取决于监视器的分辨率和列的宽度也可以由开发人员更改)我会不知道在哪里滚动,因为我正在检查列的存在,在某些情况下,正确的结果也是列不存在…
我在测试中使用这些函数来获取列标题列表: Get all columns of table ${table} ${columns_loc}= replace substring placeholder ${GRID_HEADERS} ${table} @{locators}= Get Webelements ${columns_loc} ${result}= Create List :FOR ${locator} in @{locators} ${name}= Get Text ${locator} Append To List ${result} ${name} [Return] ${result} Check column ${column} is visible ${headers2}= Get all values ${res}= value is in list ${headers2} ${column} run keyword if ${res}==False fail wrong columns displayed ... else pass execution 我也试过用这个: def dict_elements(self,xpath): elements = self.get_library_instance()._element_find(xpath,False,True) headers_map = {} if elements is not None: for index,element in enumerate(elements): headers_map[element.text] = index return headers_map return None def list_elements(self,xpath): dict = self.dict_elements(xpath) return dictionary_keys_to_list(dict) Get all columns of table ${table} ${columns_loc}= replace substring placeholder ${GRID_HEADERS} ${table} @{cols}= list elements ${columns_loc} 但是两个变量都返回9列 – 这是正确的,实际上有9列,但最后一列是EMPTY(仅返回u”)而不是元素的实际文本(如u’last列名’).最后一个列标题不能直接显示,它必须水平滚动才能到达它… 谢谢你的建议! 解决方法
您可以使用获取匹配Xpath计数有关详细信息,请参阅文档中的
Get Matching Xpath Count关键字.
(编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |