51Testing软件测试论坛

标题: 关于动态ID怎么进行定位啊 [打印本页]

作者: 诶,他表哥    时间: 2017-7-5 14:14
标题: 关于动态ID怎么进行定位啊
[attach]106991[/attach]
使用ID定位肯定不行,所以我就用
driver.find_element_by_css_selector("a[title~='业务管理']").click()
但是仍然会跳到别的菜单
求大神帮忙,这个应该怎么定位,使用哪个字段进行定位

作者: finomy    时间: 2017-7-5 14:46
用xpath和css都可以,就是不基于它的属性定位,根据层级一级一级罗列,比如“/html/head/meta[5]”这样或者用上层的固定id定位比如“//*[@id="toptb"]/div/div[2]/a[4]”这样,css类似“head > meta:nth-child(10)”,“#toptb > div > div.y > a:nth-child(4)”
作者: 掉渣饼    时间: 2017-7-5 15:16
用xpath定位
作者: 诶,他表哥    时间: 2017-7-5 15:37
掉渣饼 发表于 2017-7-5 15:16
用xpath定位

如何定位?使用层级关系吗?能不能帮忙写一下
driver.find_elements_by_xpath('/html/body/table/tbody/tr/td/ul/li[2]/a')这样貌似也不对
作者: 诶,他表哥    时间: 2017-7-5 15:44
finomy 发表于 2017-7-5 14:46
用xpath和css都可以,就是不基于它的属性定位,根据层级一级一级罗列,比如“/html/head/meta[5]”这样或者 ...

driver.find_elements_by_xpath('/html/body/table/tbody/tr/td/ul/li/a').click()这样貌似并不行,
作者: finomy    时间: 2017-7-5 16:08
诶,他表哥 发表于 2017-7-5 15:44
driver.find_elements_by_xpath('/html/body/table/tbody/tr/td/ul/li/a').click()这样貌似并不行,

从截图上看,li不止一个,截图部分的写法....li[2]/ul/li[2]/a/span,省略号部分自己填吧,根据层级来写,我觉得table可能也不是直接就在body下面




欢迎光临 51Testing软件测试论坛 (http://bbs.51testing.com/) Powered by Discuz! X3.2