所谓不怕神一样的对手,就怕猪一样的队友;
今天在编写自动化测试脚本时,一个非常简单的元素定位;(页面截图下)
我想定位的是720天这个输入框中的元素;而且,已经确定了此id是静态id;结果是八大定位元素全部试了以便,全部以失败而告终;一开始以为里面有iframe这个框架,找了半天,没找到,后来我尝试定位“最多保留”看是否定位成功;确实定位成功了,无奈只能通过xpath方式间接定位了,直接定位720天的xpath如下://*[@id="reserved-days"];定位失败;因为最多保留定位成功了,所一尝试通过最多保留的xpath,间接定位720天;最多保留://*[@id="dialog_backup_config"]/table/tbody/tr[1]/td[2]/span[1]
因此我使用://*[@id="dialog_backup_config"]/table/tbody/tr[1]/td[2]/span[2]心想应该可以成功了把;结果还是失败;
后来://*[@id="dialog_backup_config"]/table/tbody/tr[1]/td[2]/span[2]/input方算定位成功。
这是通过id当然其他七大定位元素也是这样,不一列为,全部以失败而告终!
#配置留库数据
def savedb(self,driver,sysdb):
time.sleep(2)
driver.find_element_by_xpath('//*[@id="wrapper"]/div[3]/ul/li[6]/a/span').click()
# 点击数据维护
time.sleep(1)
driver.find_element_by_xpath('//*[@id="wrapper"]/div[3]/ul/li[6]/ul/li[5]/a').click()
#点击配置
time.sleep(1)
driver.find_element_by_css_selector('#alarms\.backup\.config > span > span > label').click()
#设置留库数据最多保存多少天
print('111')
text=driver.find_element_by_id('ui-dialog-title-dialog_backup_config').text
print(text)
te=driver.find_element_by_xpath('//*[@id="dialog_backup_config"]/table/tbody/tr[1]/td[2]/span[1]').text
print(te)
driver.find_element_by_id('reserved-days').clear()
driver.find_element_by_id('reserved-days').send_keys(sysdb[0])
#设置磁盘限额
print('222')
driver.find_element_by_id('maximum-percent').clear()
driver.find_element_by_id('maximum-percent').send_keys(sysdb[1])
#点击确定
print('333')
#driver.find_element_by_css_selector('body > div.ui-dialog.ui-widget.ui-widget-content.ui-corner-all > div.ui-dialog-buttonpane.ui-widget-content.ui-helper-clearfix > button:nth-child(2)').click()
print('444')
driver.find_element_by_xpath('/html/body/div[3]/div[3]/button[2]').click()
time.sleep(2)
driver.switch_to.alert.accept()
time.sleep(1)
# 点击配置
driver.find_element_by_xpath('//*[@id="alarms.backup.config"]/span/span/label').click()
#点击关闭
driver.find_element_by_xpath('/html/body/div[3]/div[3]/button[1]').click()
后来通过xpath间接定位,方算是成功了:
#配置留库数据
def savedb(self,driver,sysdb):
time.sleep(2)
driver.find_element_by_xpath('//*[@id="wrapper"]/div[3]/ul/li[6]/a/span').click()
# 点击数据维护
time.sleep(1)
driver.find_element_by_xpath('//*[@id="wrapper"]/div[3]/ul/li[6]/ul/li[5]/a').click()
#点击配置
time.sleep(1)
driver.find_element_by_css_selector('#alarms\.backup\.config > span > span > label').click()
#设置留库数据最多保存多少天
print('111')
text=driver.find_element_by_id('ui-dialog-title-dialog_backup_config').text
print(text)
te=driver.find_element_by_xpath('//*[@id="dialog_backup_config"]/table/tbody/tr[1]/td[2]/span[1]').text
print(te)
driver.find_element_by_xpath('//*[@id="dialog_backup_config"]/table/tbody/tr[1]/td[2]/span[2]/input').clear()
driver.find_element_by_xpath('//*[@id="dialog_backup_config"]/table/tbody/tr[1]/td[2]/span[2]/input').send_keys(sysdb[0])
#driver.find_element_by_id('reserved-days').send_keys(sysdb[0])
#设置磁盘限额
print('222')
driver.find_element_by_xpath('//*[@id="dialog_backup_config"]/table/tbody/tr[2]/td[2]/span[2]/input').clear()
driver.find_element_by_xpath('//*[@id="dialog_backup_config"]/table/tbody/tr[2]/td[2]/span[2]/input').send_keys(sysdb[1])
#driver.find_element_by_id('maximum-percent').clear()
#driver.find_element_by_id('maximum-percent').send_keys(sysdb[1])
#点击确定
driver.find_element_by_xpath('/html/body/div[3]/div[3]/button[2]').click()
time.sleep(2)
driver.switch_to.alert.accept()
time.sleep(1)
# 点击配置
driver.find_element_by_xpath('//*[@id="alarms.backup.config"]/span/span/label').click()
#点击关闭
driver.find_element_by_xpath('/html/body/div[3]/div[3]/button[1]').click()
前端人员,这波操作真是可以;我是无话可说了!真是应了那句话,不怕神一样的对手,就怕猪一样的队友。