常见元素方法
ipt_name = self.driver.wait_element_visible(self.locator("ipt_name "))
self.driver.clear(ipt_name )
self.driver.send_keys(ipt_name , name)
btn_search = self.driver.wait_element_clickable(self.locator("btn_search "))
self.driver.click(btn_search )
locator_tuple = self.locator("choose_type")
choose_type_xpath = locator_tuple[1].format(type)
choose_type = self.driver.wait_element_clickable((locator_tuple[0], choose_type_xpath))
self.driver.click(choose_type)
for device in choose_device['devices']:
locator_tuple = self.locator("check_box_optional")
xpath_expression = locator_tuple[1].format(device)
check_box_optional = self.driver.wait_element_clickable((locator_tuple[0], xpath_expression))
self.driver.click(check_box_optional)
常见元素定位:Xpath
input_type:
xpath: //input[@placeholder="请选择类型"]
choose_type:
xpath: //div[@x-placement='bottom-start']//li/span[text()='{0}']
常见定位小方法
- 同一页面有多个相同元素,当前匹配:last()
- 特定文本元素定位,模糊匹配:contains()
btn_sure:
xpath: (//span[text()="确定 "])[last()]
btn_sure:
xpath: //span[contains(text()="确定 ")]
常见方法逻辑
option = choose_device.get('option', 'device_name')
if option == 'device_name':
ipt_device_name = self.driver.find_element(self.locator("ipt_device_name"))
self.driver.send_keys(ipt_device_name,choose_device['device_name'])
elif option == 'device_num':
ipt_device_num = self.driver.find_element(self.locator("ipt_device_num"))
self.driver.send_keys(ipt_device_num, choose_device['device_num'])