一、场景回溯:
页面中存在多个 class="xxx-xxx" 的对象,且这些对象的子对象的属性(如:text)各自不同。
二、处理方法如下:
# 主菜单定位
main_menu = (By.CSS_SELECTOR, '.ant-menu-submenu-title')
# 主菜单定位-子元素定位
main_menu_child = (By.CSS_SELECTOR, 'span')
# 主菜单定位-子元素定位
main_menu_child_child = (By.CSS_SELECTOR, 'span')
# ……/……/……
batch_deal = (By.CSS_SELECTOR, "button[class$='ant-btn ant-btn-primary']")
# ……/……/……子元素
batch_deal_child = (By.CSS_SELECTOR, 'span')
# 通过获取grandson节点的text来定位并点击主菜单
def click_by_grandchild(self, text):
elements = self.find_elements(*self.main_menu)
for element in elements:
text_value = element.find_element(*self.main_menu_child).find_element(*self.main_menu_child_child).text
if text_value == text:
element.click()
# 获