想写一个自动填写腾讯文档的报表
selenium中无法定位到具体元素
网页中有多个classname同样的元素,如何定位到某一个我需要的元素呢?
<div class="question-main-content"><div class="question-title"><span class="form-checkbox-tag" lang="zh-cn">[多选]</span><span class="form-auto-ellipsis">本人及同住人是否在14天内接触过境外、高风险地区人员</span></div><div class="question-sub"><div class="question-rich-subtitle form-rich-editor"><div class="editor-readonly"><div class="rich-text-element-paragraph"><span style="font-weight: normal; background: transparent;">如有,请在“其他”选项中补充说明接触人员与您的关系、接触时间、接触地点。</span></div></div></div></div><div class="question-content"><div class="form-choice form-choice-checkbox"><div aria-checked="true" role="checkbox" tabindex="-1" class="form-choice-option form-choice-checkbox-option"><div class="form-choice-option-selected form-choice-checkbox-option-selected"></div><div class="form-choice-option-content form-choice-checkbox-option-content"><div class="form-choice-option-text form-choice-checkbox-option-text"><span class="form-choice-option-text-content form-choice-checkbox-option-text-content">否,未接触过</span></div></div></div><div aria-checked="false" role="checkbox" tabindex="-1" class="form-choice-option form-choice-checkbox-option"><div class="form-choice-option-normal form-choice-checkbox-option-normal"></div><div class="form-choice-option-content form-choice-checkbox-option-content"><div class="form-choice-option-text form-choice-checkbox-option-text"><span class="form-choice-option-text-content form-choice-checkbox-option-text-content">是,接触过</span></div></div></div><div aria-checked="false" role="checkbox" tabindex="-1" class="form-choice-option form-choice-checkbox-option is-other"><div class="form-choice-option-normal form-choice-checkbox-option-normal"></div><div class="form-choice-option-content form-choice-checkbox-option-content"><div class="form-choice-option-text form-choice-checkbox-option-text"><span class="form-choice-option-text-content form-choice-checkbox-option-text-content">其他</span><div class="form-choice-option-other form-choice-checkbox-option-other" role="row" tabindex="-1"><div class="form-simple disabled"><div class="form-simple-main"><textarea disabled="" placeholder="" rows="1" spellcheck="false" style="height: 30px;"></textarea></div><div class="form-simple-desc"></div></div></div></div></div></div></div></div></div>
试过使用不同的方式,classname有多个一样的,xpath换台电脑就报错
可以定位到某一个我需要的元素,并click
如果classname有很多一样的,可以根据其他定位,比如id,文本,其他属性等等,定位方式有很多,找到唯一定位的方法就好:
https://blog.csdn.net/weixin_43824520/article/details/123106269
有多个classname可以通过循环去判断自己想要的,或者先定义上一层的,一层层定位下去
你只需要再开发者面板选中要定位为的节点,接着选复制,最后选择复制的定位(xpath或css等)并粘贴到你代码的定位路径就好了
或者你也可以指定查找到的所有元素中的第几位,选择性click
这个问题很常见,我们在定位的时候也不要拘泥于只对目标元素进行定位,如果发现目标元素没有唯一的标志,那就找兄弟节点或者逐级往上找,直到找到能唯一定位到的元素为止,要灵活运用xpath的各种操作,菜鸟教程里面有对xpath的详细教程,建议可以看看
您好,我是有问必答小助手,您的问题已经有小伙伴帮您解答,感谢您对有问必答的支持与关注!