51Testing软件测试论坛

标题: python selenium 怎么定位页面中动态DI [打印本页]

作者: 旭丶枕边爱    时间: 2016-4-19 10:52
标题: python selenium 怎么定位页面中动态DI
本帖最后由 旭丶枕边爱 于 2016-4-19 10:54 编辑

请教下,页面中的id是随机改变的,如:
<thead>

<tbody role="alert" aria-live="polite" aria-relevant="all">
<tr class="odd">
<td class="center">

<td class="center">

<td class="center">

<td class="center action">
<a id="rowWealthEdit19505" class="action-edit" onclick="EditWealth(19505)" href="javascript:void(0);"/>

<a id="rowWealthCancel19505" class="action-cancel" onclick="CancelWealth(19505)" href="javascript:void(0);" style="display:none"/>

<a id="rowWealthDel19505" class="action-delete" onclick="DeleteWealth(19505)" href="javascript:void(0);"/>




如何定位到,不要写死的,有个思路,但是不知道怎么写,(可以通过路径定位到td,然后模糊匹配id中后面的数字,)


作者: 清晨一缕阳光    时间: 2016-4-19 11:12
可以使用className去定位:driver.findElement(By.className("action-edit"))
作者: 清晨一缕阳光    时间: 2016-4-19 11:15
元素的定位方式有很多种的,一种不行可以换另外一种,Xpath大多数元素都可以定位到的,建议再了解下元素的定位方式!
作者: 旭丶枕边爱    时间: 2016-4-19 17:21
试了  如果用class的话 页面中有两个,该元素,没法定位,会操作到另个元素
作者: june.diny    时间: 2016-4-19 18:07
使用css selector的方式定位,可以模糊匹配,比如,id属性以rowWealthEdit开头a元素
a[id^="rowWealthEdit"]
a[id^="rowWealthCancel"]
a[id^="rowWealthDel"]
参考:
http://www.w3school.com.cn/cssref/css_selectors.asp

除了常规8种定位方式,还可以考虑几种方式的混合定位
作者: 旭丶枕边爱    时间: 2016-4-20 16:10
june.diny 发表于 2016-4-19 18:07
使用css selector的方式定位,可以模糊匹配,比如,id属性以rowWealthEdit开头a元素
a
a

通过你给出的方法,已经实现,谢谢




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