使用Ghost Inspector无法定位多位家庭成员对应的下拉菜单元素
解决方案
- 修正元素定位逻辑,缩小选择器作用范围
你之前使用的div.relationship-container:nth-of-type(10)是全局统计页面中所有该类容器的序号,第一位家庭成员有9个关系下拉,对应全局序号1-9,第二位的第一个下拉理论上对应全局序号10,但页面如果存在隐藏的同类容器、或者操作第一位成员后DOM发生了局部刷新,都会导致全局序号偏移,定位失效。
你需要先定位到对应家庭成员的独立外层容器,再在该容器范围内找内部的下拉元素,示例选择器如下(你可以用Chrome调试工具确认外层容器的类名,比如假设外层成员容器类名为member-block):
/* 定位第二位家庭成员的第一个下拉 */ .member-block:nth-of-type(2) div.relationship-container:nth-of-type(1) > .-relator > .chzn-container.chzn-container-single > a.chzn-single > span
- 优化选项定位规则,避免固定序号失效
你当前使用的li:nth-of-type(37)是固定序号定位'Unrelated'选项,如果后续选项数量、顺序发生变化,该规则会直接失效。可以改用文本匹配的选择器,稳定性更高:
.chzn-container.chzn-container-single.chzn-with-drop > .chzn-drop > .chzn-results > li:contains('Unrelated')
- 批量操作可使用循环变量简化步骤
如果需要给10位成员依次设置关系,可以使用Ghost Inspector的变量功能,将成员序号、下拉序号设置为可迭代的变量,配置循环逻辑自动完成所有操作,无需手动编写上百条重复步骤。
内容的提问来源于stack exchange,提问作者William Zebrowski
相关产品推荐
相关产品推荐

