· 参考:https://www.cnblogs.com/desperado0807/p/4839502.html
写网页UI自动化遇到非select下拉框一直无法成功定位元素的问题,且前端代码没有id、name之类唯一标识。尝试过xpath以及文字等方式,最后用css能定位成功
self.driver.find_element_by_xpath('//[@id="app"]/div/div[2]/section/div/div/div[6]/div/div[2]/form/div[2]/div/div/div/input').click()
# 先定位到下拉菜单
drop_down = self.driver.find_element_by_css_selector("body > div.el-select-dropdown.el-popper > div.el-scrollbar > div.el-select-dropdown__wrap.el-scrollbar__wrap > ul")
time.sleep(3)
# 再点击下拉菜单中的选项进行选择
drop_down.find_element_by_css_selector('body > div.el-select-dropdown.el-popper > div.el-scrollbar > div.el-select-dropdown__wrap.el-scrollbar__wrap > ul > li:nth-child(1) > span').click()
self.driver.find_element_by_xpath('//*[@id="app"]/div/div[2]/section/div/div/div[6]/div/div[2]/form/div[3]/div/div/div[1]/div/input').click()
drop_down_province = self.driver.find_element_by_css_selector("body > div:nth-child(17) > div.el-scrollbar > div.el-select-dropdown__wrap.el-scrollbar__wrap > ul")
time.sleep(3)
drop_down_province.find_element_by_css_selector('body > div:nth-child(17) > div.el-scrollbar > div.el-select-dropdown__wrap.el-scrollbar__wrap > ul > li:nth-child(1) > span').click()
time.sleep(3)
self.driver.find_element_by_xpath('//*[@id="app"]/div/div[2]/section/div/div/div[6]/div/div[2]/form/div[3]/div/div/div[2]/div[1]/input').click()
drop_down_city = self.driver.find_element_by_css_selector("body > div:nth-child(18) > div.el-scrollbar > div.el-select-dropdown__wrap.el-scrollbar__wrap > ul")
time.sleep(3)
drop_down_city.find_element_by_css_selector('body > div:nth-child(18) > div.el-scrollbar > div.el-select-dropdown__wrap.el-scrollbar__wrap > ul > li:nth-child(1) > span').click()
time.sleep(3)
self.driver.find_element_by_xpath('//*[@id="app"]/div/div[2]/section/div/div/div[6]/div/div[2]/form/div[3]/div/div/div[3]/div[1]/input').click()
drop_down_district = self.driver.find_element_by_css_selector("body > div:nth-child(19) > div.el-scrollbar > div.el-select-dropdown__wrap.el-scrollbar__wrap > ul")
time.sleep(3)
drop_down_district.find_element_by_css_selector('body > div:nth-child(19) > div.el-scrollbar > div.el-select-dropdown__wrap.el-scrollbar__wrap > ul > li:nth-child(5) > span').click()