关于怎么查找目标节点

Posted Be What You Wanna Be

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了关于怎么查找目标节点相关的知识,希望对你有一定的参考价值。

 拿途家网来说,查找注册按钮得节点。

步骤一:打开首页

步骤二:右键点击“立即注册”→ 点击“检查”

步骤三:点击完“检查”,可以看到代码自动定位到“立即注册”部分,找到下图中div class 字样,复制等号后面得。

步骤四:点击下面窗口(叫调试台)中得第二个tab页“Console”;输入 document.getElementsByClassName("top-info")

注意大小写,输入过程中可能会出行候选项,可以直接按键盘上  右箭头 直接选上。回车执行。

步骤五:可以先点击黑色箭头 展开各个节点先看下。

可以看到“立即注册”字样得文字,它是在第一个节点展开看到得。刚刚执行完语句,结果一共就两个节点。

所以先执行document.getElementsByClassName("top-info")[0] 得到得就是第一个节点。后面加[0]就是获取第一个。数组中各个对象得编号是从0开始得。

注意引号和括号都是英文模式下输入得。

展开看下:

步骤六:可以看到结果直接展开一层就可以看到目标了。它在第一个节点下面。这个时候就不要用[0]得方式了,要用childNodes来获取结果下面得所有东西。看下执行结果。

可以展开各个节点看下都是什么,对应得是页面右上角几个文案以及连接。

展开第二个箭头,可以看到“立即注册”。

 

 步骤七:那确认了“立即注册”在 document.getElementsByClassName("top-info")[0].childNodes 这个执行结果得第二个节点下面。

所以就是 document.getElementsByClassName("top-info")[0].childNodes[1]

 

 

 找这个是为了在Selenium中用。因为有些按钮点击后会在新页面打开,而用Selenium自动化时需要切换窗口比较麻烦,所以可以用这种方式找到目标,然后清除在新页面打开得属性,然后再自动化模拟点击。这样就让浏览器一直保持了一个窗口,便于自动化。

 

类似于上图这样得,就是会点击后在新页面打开。

 通过执行下面得语句就可以把属性删除。这种删除只针对当前页面,刷新页面后,所有属性都会恢复原有。删除这个只是为了自动化得方便。

 

 

--2017-09-05 12:16:32

 

以上是关于关于怎么查找目标节点的主要内容,如果未能解决你的问题,请参考以下文章

c#关于树节点怎么获取父节点下的所有子节点的ID

jquery怎么查找元素的父元素

c# 读取xml文件 查找节点时 报null值?

二叉查找树中元素的删除操作

在 ExtJs 4.1 树面板中通过 id 或 name 查找节点

数据结构+算法(第11篇) 无死角“盘”它!二分查找树