上次我每周举行一次会议时,每个人都聊了聊,并谈论了如何测试测试。
然后对我们进行了测试。每次我编写测试案例时,我都必须通过Chrome获得元素XPath,这非常麻烦。
我问,为什么我不收到想要获得XPath并自动阅读的浏览器插件?
测试:我不会,我没有研究它。呵呵。
通过梳理沟通和需求,要简要实现的逻辑:
您为什么意识到Chrome插头?
因为Chrome插头几乎支持所有WebKit内核浏览器,例如360,Sogou,Qq等,因此使用非常方便
此外,对于Chrome插头开发人员,Chrome竭尽全力使插头的开发简单高效。
好,打开。
Chrome插头的项目结构非常简单。插件目录结构可以包含以下文件夹,使该目录看起来与网站目录非常相似
因此,开发人员可以自由地将精力和时间放在真实的代码和逻辑上,而无需注意额外的事情
但是,插头目录没有严格的标准。即使您只有一个,因为只有此文件,其他文件也是可选的。例如,我要开发的插头非常简单,因此项目结构非常简单。
大概:
请注意,清单。JSON是插件的输入文件,因此它是一个必要的文件。在此文件中配置了许多参数。
其中一些必须是以下参数:
推荐参数:
其他参数,我在这里选择了其中一些
清单参数的内容非常长,版本2和3有所不同,因此我不会在这里说。有关详细信息
此页面用于显示XPATH的结果,所有XPATH结果将在此DIV中显示在此DIV中。
让我们开始输入主题
首先,我们要完成该元素的XPATH逻辑。该部分是插件的主要逻辑,放置在xpath.js中。
那么XPath的元素是什么?我们打开浏览器的开发人员模式,选择一个元素,正确单击鼠标,并且对话框将弹出如下:
在这里,我们可以找到一个普通的XPath:
//*[@ID =“ juejin-web-editor”]/div [2]/div/div/header/div [2]/button
或这样的完整路径XPath是这样的:
/html/body/div/div [2]/div/div/header/div [1]
因此,Xpath基本上正在遍历某个元素的父节点和兄弟节点,然后是节点级别的路径。该元素在兄弟节点中代表
因此,让我们写一个在兄弟元素位置找到元素的功能。此功能返回元素在兄弟中的位置。请注意,n是相同的标签,例如:
在上面的代码中
因此,我们获得了获得n的方法:
我们已经成功获得了N。元素和n的祖先要素:
上面的查询是此形式的XPATH。在这里,我们实现了获得元素的XPath。接下来,我们要做的是将结果传递到当前页面。
交叉页面通信在这里,我们使用Google扩展的API,称为扩展。此API用于发送和接收信息:
获得完整的XPath后,使用该方法将其发送到
发送后,我们需要在中国接受这些数据
此时,我们的主要逻辑完成了,然后添加
只需写必要的数据
书面插头可以直接以文件夹的形式拖动
安装后,将在扩展管理中列出
如果要发布,您需要上升,需要在此处登录到Google帐户
然后支付5美元的注册费
成功注册为开发人员后,您可以在软件包之后上传.zip文件包。
上传后,我可以在“开发人员信息中心”进行检查,并且不会详细介绍。
作者:阳光同学