全球主机交流论坛

 找回密码
 注册

QQ登录

只需一步,快速开始

IP归属甄别会员请立即修改密码
查看: 1030|回复: 6
打印 上一主题 下一主题

web 元素使用XPATH无法定位,请大神帮忙

[复制链接]
跳转到指定楼层
1#
发表于 2018-3-9 11:02:18 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
<div class="rfm">
    <table>
        <tbody>
        <tr>
            <th>验证码</th>
            <td><input name="seccodeverify" id="seccodeverify_cShasdf" type="text" autocomplete="off"
                       style="ime-mode:disabled;width:100px" class="txt px vm"
                       onblur="checksec('code', 'cShLhHrh', 0, null, 'member::logging')">
            </td>
        </tr>
        </tbody>
    </table>
</div>


id="seccodeverify_cShasdf" 这个是动态变化的

定位使用:
seccode = browser.find_element_by_name('seccodeverify')

seccode = browser.find_element_by_xpath("//input[starts-with(@id, 'seccodeverify')]"

此页上其它的相同元素均可以使用以上方法定位,就这个input元素无法定位,请大神看看到底是什么问题?谢谢





2#
发表于 2018-3-9 11:10:55 | 只看该作者
楼下给解答一下!
3#
 楼主| 发表于 2018-3-9 11:19:48 | 只看该作者
本帖最后由 EIZOFANS 于 2018-3-9 11:21 编辑

相同代码刚刚又重试了一次,居然可以正常定位了,实在不解,浪费几十分钟时间
4#
发表于 2018-3-9 11:20:32 来自手机 | 只看该作者
楼主的定位用途呢?如果支持CSS规则的话可以用^$这类来匹配或者使用正则等
5#
 楼主| 发表于 2018-3-9 11:23:22 | 只看该作者
Carseason 发表于 2018-3-9 11:20
楼主的定位用途呢?如果支持CSS规则的话可以用^$这类来匹配或者使用正则等 ...

多谢回复,我是定位这个input,然后send_keys('XXX'),相同的代码在几十分钟前怎么也不可以,刚刚我发完这个帖子又试了一次,居然成功了
6#
发表于 2018-3-9 11:25:32 来自手机 | 只看该作者
EIZOFANS 发表于 2018-3-9 11:23
多谢回复,我是定位这个input,然后send_keys('XXX'),相同的代码在几十分钟前怎么也不可以,刚刚我发完这个 ...

只是网页规则变了所以你才能匹配到了,如果下次页面刷新了你还得匹配不到
7#
 楼主| 发表于 2018-3-9 11:30:09 | 只看该作者
Carseason 发表于 2018-3-9 11:25
只是网页规则变了所以你才能匹配到了,如果下次页面刷新了你还得匹配不到 ...


规则没有变,我是直接by_name定位的,而它的 name 值一直是固定的,我怀疑是缓存导致的
您需要登录后才可以回帖 登录 | 注册

本版积分规则

Archiver|手机版|小黑屋|全球主机交流论坛

GMT+8, 2025-10-31 23:44 , Processed in 0.060157 second(s), 10 queries , Gzip On, MemCache On.

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表