诶,他表哥 发表于 2017-7-5 14:14:52

关于动态ID怎么进行定位啊


使用ID定位肯定不行,所以我就用
driver.find_element_by_css_selector("a").click()
但是仍然会跳到别的菜单
求大神帮忙,这个应该怎么定位,使用哪个字段进行定位

finomy 发表于 2017-7-5 14:46:57

用xpath和css都可以,就是不基于它的属性定位,根据层级一级一级罗列,比如“/html/head/meta”这样或者用上层的固定id定位比如“//*[@id="toptb"]/div/div/a”这样,css类似“head > meta:nth-child(10)”,“#toptb > div > div.y > a:nth-child(4)”

掉渣饼 发表于 2017-7-5 15:16:44

用xpath定位

诶,他表哥 发表于 2017-7-5 15:37:50

掉渣饼 发表于 2017-7-5 15:16
用xpath定位

如何定位?使用层级关系吗?能不能帮忙写一下
driver.find_elements_by_xpath('/html/body/table/tbody/tr/td/ul/li/a')这样貌似也不对

诶,他表哥 发表于 2017-7-5 15:44:57

finomy 发表于 2017-7-5 14:46
用xpath和css都可以,就是不基于它的属性定位,根据层级一级一级罗列,比如“/html/head/meta”这样或者 ...

driver.find_elements_by_xpath('/html/body/table/tbody/tr/td/ul/li/a').click()这样貌似并不行,

finomy 发表于 2017-7-5 16:08:07

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

从截图上看,li不止一个,截图部分的写法....li/ul/li/a/span,省略号部分自己填吧,根据层级来写,我觉得table可能也不是直接就在body下面
页: [1]
查看完整版本: 关于动态ID怎么进行定位啊