首页 >web前端 >js教程 >用鸡脚重写网络

用鸡脚重写网络

Joseph Gordon-Levitt
Joseph Gordon-Levitt原创
2025-03-10 00:55:09539浏览

用鸡脚重写网络

Firefox浏览器可以使用许多插件和扩展程序,以使开发人员与DOM和网页的其他暴露部分进行交互。事实证明,诸如JavaScript shell bookmarklet,Firebug,GreasemonKey和Platypus之类的工具对于允许开发人员可以在页面,Debug dom和css问题以及测试想法中添加自定义交互性和测试想法。 但是,如果用户想动态与多个页面动态交互,以自动化Firefox接口的不同部分,以跨多个页面进行脚本活动,或者同时使用网页和本地文件系统,那么这些选项在历史上受到历史上的限制。但这最近随着诸如Coscripter之类的扩展以及构成本文主题的扩展而开始改变:Chickenfoot。

钥匙要点

> Chickenfoot是一种多功能的Firefox扩展程序,允许用户同时自动化Web互动并操纵多个网页,从而提高了开发人员的生产力。

>鸡脚的安装很简单,类似于其他Firefox扩展,但是尽管Mac用户可用,但在Windows上的性能最佳,他们可能会遇到一些不一致的情况。
    扩展在Firefox的XUL环境中运行,该环境与标准(X)HTML环境不同,提供了更深入的访问和与网页上下文的互动功能。
  • Chickenfoot支持在各个站点上进行脚本,启用任务,例如从一个页面复制文本,在Google上搜索文本,并将结果附加到本地文件,该文件显示了其功能强大的自动化功能。
  • >用户可以使用Chickenfoot的Interactive Shell直接在浏览器中编写和测试脚本,该互动壳记录动作并将其输出为可重复使用的脚本片段,从而简化了重复任务的自动化。
  • 什么是鸡脚?
  • Chickenfoot是MIT用户界面组的Firefox扩展。它提供了:
  • 的能力
与浏览器的铬
>使用交互式外壳来操纵页面并以各种方式监视页面交互
>编写在多个站点上运行的脚本,以便可以编写一个访问一个网页的脚本,从页面的一部分中复制某些文本,转到Google,搜索该文本,然后将第一个链接附加到本地文件系统

上的页面上的第一个链接

对于希望自动化动作或扩展他或她定期使用的网页功能的任何开发人员来说

安装鸡脚

    鸡脚的安装方式与其他Firefox扩展名相同:只需下载并接受从Chickenfoot安装页面上可用的XPI文件。
  • 尽管Firefox是一个跨平台浏览器,但

    该扩展程序在Windows上最有效。如果您在Mac上,您仍然可以安装Chickenfoot并与本文中的代码一起播放,但是您可能会看到不一致的行为。不幸的是,直到扭结被熨除掉了,警告此。Docshell不会出现频率,并且您的输出可能与此处描述的那样不匹配。>>>>>>>>>>

    >安装了扩展程序并重新启动浏览器后,您可以通过按F8或选择视图>侧栏> Chickenfoot菜单选项来访问Chickenfoot Interactive Shell。外壳将在侧边栏中打开,看起来像下面的图像。



    用鸡脚重写网络>首次启动鸡脚侧栏时,它显示了一个拆分视图 - 顶部面板包含一个标有未键入的文本字段;这是我们将编写Chickenfoot代码的输入区域。

    底部面板包含四个选项卡。默认选择的选项卡被标记为输出,并显示您所有操作的历史记录以及所有Chickenfoot的动作,这些历史都应用于浏览器。首先,我们必须告诉Chickenfoot记录我们的动作 - 单击“动作”选项卡,并确保检查记录动作选项。

    >让我们测试我们的输出正在被捕获。为此,请打开一个新的Firefox选项卡并加载Google主页。加载页面后,单击页面左上方的图像链接,这将带您进入Google的图像搜索。如果再次选择“ Chickenfoot输出”选项卡,则应查看以下文本:

    >这不仅仅是对发生的事情的描述,实际上是鸡脚代码的片段!要测试此代码,请单击“背箭头”以返回Google主页,然后复制并粘贴我们创建的摘要中的摘要。单击面板顶部的绿色箭头,将执行您的代码段。该页面将再次导航到Google Image搜索页面。

    鸡脚背后的想法
    click("Images")

    Chickenfoot与启用可脚本网络的其他工具分享了某些想法。

    > Chickethiot背后的主要思想是为用户提供创建任何人都可以使用或写作的工具,而无需程序员的帮助。我应该在这里注意到,我认为这个目标将无法实现,因为总会有对具有复杂功能的脚本的需求,而该脚本只能由程序员实现。但是,这个理想主义目标是鸡脚背后的驱动力这一事实导致了一个非常有用的工具。 这些目标与Coscripter相似 - 实际上,Coscripter使用了Chickenfoot版本0.9代码的一部分。我不会在本文中详细介绍有关Coscripter的任何详细信息,但是如果您有兴趣阅读更多信息,请参阅Alex Faaborg的文章。
    >
    找到我们的脚

    >让我们看一下如何录制鸡脚的脚本,就像MS Word或Adobe Photoshop中的宏。在此示例中,我们将创建一个仅比上一节中看到的单个命令更重要的脚本。对于此演示,我从Coscripter教程的入门中汲取了灵感。

    >

    完成后,我们的脚本将导致我们的浏览器:

      >加载页面www.google.com。
    1. 单击图像链接。

    2. >将文本“考拉”放入搜索图像文本框中。
    3. 单击搜索图像按钮。
    4. >让我们来脚本!如果尚未打开鸡脚的侧边栏,并在顶部面板中键入以下命令:
      >
    5. 然后单击绿色箭头。如您所料,您的浏览器会加载Google主页。
    >

    要记录我们的其余脚本,我们基本上将执行我上面描述的步骤。单击“图像链接”,然后在搜索框中输入文本“ Koalas”,然后命中标签以退出字段。最后,单击搜索映像按钮。

    click("Images")
    您的输出选项卡现在应显示类似于以下内容的内容:

    >

    >如果您在登录到Google帐户时执行了这些步骤,则列出的一些文本值可能有所不同,但是操作仍然相同。

    >现在我们已经记录了动作,我们可以从此代码输出中选择并选择,并将所需的线复制到Chickenfoot侧边栏的顶部面板。瞧!我们有一个工作脚本!

    >

    >除了最初的GO操作外,我们关注的命令是单击并输入命令。我们还可以简化传递的值,以便我们的脚本看起来像这样:>
    go("google.com")
    您可能会从上面的示例中注意到的一件事是,Chickenfoot语法与许多基于C的语言(例如JavaScript)有很多共同点。鸡脚命令实际上是javaScript。

    刮擦表面

    >一个重要的概念是,大多数JavaScript用户都熟悉的普通(X)HTML环境中,Chickenfoot并不是在Firefox的XUL环境中运行。鸡脚已经扩展了此环境,以使其更容易与网页的上下文进行交互。
    go("http://www.google.com/") 
    click("Images")
    go("http://images.google.com/imghp?hl=en&tab=wi")
    enter("Sign in", "koalas")
    click("Search Images button")
    go("http://images.google.com/images?hl=en&q=koalas&btnG=Search+Images
    &gbv=2")

    >如果您在普通页面的上下文中引用或修改JavaScript可以访问的对象,则可能会按照您的期望进行行为。但是,由于Chickenfoot JavaScript引擎具有更深层次的访问水平,因此您可以比平时获得更多的自由,例如在其默认情况下访问对象。

    >

    >在您进一步探索鸡脚时,您可能会遇到两个环境之间的差异以及对象在其中的行为。大多数情况下,这些差异的原因将归结为浏览器环境中的本机功能,这些浏览器环境已在Xul Chickenfoot环境中重新实现,以熟悉。

    一个这样的示例就是警报功能;考虑以下JavaScript代码的片段:

    >
    click("Images")

    在Firefox中的HTML环境中运行此代码时,它显示以下对话框:

    用鸡脚重写网络

    但是,当它在鸡脚环境中运行时,相同的代码会产生以下对话框:>

    用鸡脚重写网络

    除了许多共享功能外,在常规的基于浏览器的JavaScript实现中,还有一些其他功能,但在Chickenfoot环境中可用。 这些功能的列表可以在Chickenfoot API文档中找到。

    >

    啄食鸡脚api
    与技术一样,鸡脚的某些部分比其他地区更有用,而且您绝对需要了解的部分才能充分利用鸡脚。>
    以下是我发现最有用的部分。

    >

    模式datatype

    大多数鸡脚功能都接受参数的模式。 API文档中描述了一种模式为“许多其他数据类型的结合”。

    >最容易将模式视为用于访问HTML页面上对象的速记短语。例如,“第二只鸡脚”的模式是指页面上的“鸡脚”一词的第二次出现。如果您要访问Chickenfoot API页面并执行以下代码,则将选择页面上的第二个单词:

    >这种方法有一些变体,而Chickenfoot使用一些逻辑来智能地弄清楚您的短语使用的模式。因此,某些功能(例如点击)与模式无法正常工作,因为如果给出了可能返回多个可能结果的模式,它们会产生错误。

    > 例如,假设我们将上述代码更改为以下内容:>
    go("google.com")

    >很可能会在输出面板中产生错误消息,类似

    因此,要有效地使用模式,您需要使模式特别精确(例如,如果安装了Lapis扩展名,则使用XPATH语法或Lapis查询语法),或者使用查找功能,并通过此功能返回的一系列对象进行迭代。接下来,我们将查看这种方法。

    模式是以下数据类型的结合:
    go("http://www.google.com/") 
    click("Images")
    go("http://images.google.com/imghp?hl=en&tab=wi")
    enter("Sign in", "koalas")
    click("Search Images button")
    go("http://images.google.com/images?hl=en&q=koalas&btnG=Search+Images
    &gbv=2")
    >

    • >字符串
    • > tc
    • 匹配
    • >节点
    • 范围
    • xpath

    查找函数

    查找功能采用模式并返回匹配该模式的对象。将以下代码放在您的顶部面板中,并在此页面上执行:

    click("Images")

    >您会注意到输出面板中出现一个对象。单击此对象将导致“鸡脚”一词的所有实例突出显示。

    > 不幸的是,此函数返回的对象不是JavaScript数组。根据经验,您需要将Chickenfoot的查找功能的结果置于阵列中,然后循环循环以挑选出您追求的单个对象。

    >

    Inclubel函数

    > Include功能允许您在Chickenfoot脚本中包含其他JavaScript文件。 Chickenfoot配备了一些内置的库(大多数名称是自称的):>

    > Prototype.js,修改版本的1.5.0_rc0原型的发行版。不幸的是,在撰写本文时,Chickenfoot的Xul环境通过原型库引起了错误,使原型库的更新版本不兼容。
      >
    • > facebook.js,用于查询Facebook API。
    • > fileio.js,它提供了与本地文件系统进行交互的功能。
    • > Google-Ajax-search.js,用于从任何网页上执行基于AJAX的Google搜索查询。
    • google-maps.js,用于查询Google Maps API。 Google-search.js,Google Web搜索API的包装器。 (除非您碰巧拥有Google API密钥 - 它们不再被发出 - 此特定库不感兴趣。)
    • 实现大多数GreaseMonKey API的
  • json.js,用于执行JSON序列化和数据序列化。
  • >
  • > screenshot.js,它允许您使用屏幕截图并通过fileio.js库将其保存到本地文件系统。
  • Scriptaculous.js,基于流行原型效果库的版本1.6.1。
  • strings.js,其中包含用于从字符串中删除尾随和领先空格的函数。
  • > us-geocoder.js,非经常许可的美国地址的库。
  • > wz_jsgraphics.js,Walter Zorn的JavaScript Graphics库的版本。
  • 当您考虑每个库中每个库带来的功能时,您应该开始欣赏Chickenfoot带给网络的潜力。
  • 您可以以四种不同的方式之一将库中的库中的库包括
    • 通过Chrome Uri
    • 通过文件路径
    • 通过存储在您的Chickenfoot Profile目录中的文件的名称(在应用程序下Datamozillafirefoxprofiles {配置文件ID} Chickenfoot)
    • 通过名称明确引用库

    >关于使用新库的注释:我发现,最有效的库通常是提供特定功能的库,例如CSSQUERY或类似的库,而不是试图全方位的库。 include函数还采用可选的对象参数,该参数对于检查特定库或一组库中的可用内容非常有用,尽管本文中未介绍此功能。

    Chickenfoot还具有其他几种语言构造,例如后者,之前和插入,可让您使用查找页面上的元素在页面上检索一个元素,然后从该元素导航到您真正追求的元素。这些函数还可以动态地将内容插入该元素或周围的HTML元素中。

    有用的任务变成了chickyfeed

    任何声称自动化任务的技术都应该使快速执行有用的事情变得容易。在本节中,我将描述一些真正有用的鸡脚的任务。我包含了代码的片段,尽管它们可能无法说明JavaScript的最佳实践,但它们在说明各种用途的鸡脚上做得很好。

    让我们开始吧!这是一些方便的鸡脚脚本。

    首先,让我们找出哪些变量在您的Firefox Chrome的顶层绑定:

    >这条线应为您提供大量信息。您还可以使用此命令查看有关当前文档的一堆信息:

    click("Images")
    接下来,让我们将当前网页作为XHTML字符串输出到输出窗格:

    go("google.com")
    现在,让我们将上面的XHTML字符串写入桌面。可以将上面示例的XHTML输出写入桌面上的文件。如果您在Mac或linux机器上,则在最后一行中替换上线中的eScapated文件分隔机:

    实际上可以在即将发布的Chickenfoot版本中使用更简单的代码执行上述任务,因为它使用默认的Firefox下载目录(通常是桌面)。
    go("http://www.google.com/") 
    click("Images")
    go("http://images.google.com/imghp?hl=en&tab=wi")
    enter("Sign in", "koalas")
    click("Search Images button")
    go("http://images.google.com/images?hl=en&q=koalas&btnG=Search+Images
    &gbv=2")
    现在,让我们与您检查过的浏览器镀铬互动。

    在Firefox中,如果您具有相关对象的ID,则可以访问浏览器窗口铬的一部分。可以使用函数ChromeWindow.document.getElementById检索。例如,当您在页面上右键单击时显示的上下文菜单的ID是ContreareAcontextMenu。如果我们从上面的示例3中获取脚本,将DOM保存到桌面上,并将其包装在功能中,则可以从上下文菜单中调用此函数,例如:

    >
    click("Images")

    请注意,Chickenfoot功能附加功能允许您将数据附加到文档。您这样使用它:

    >
    go("google.com")

    希望,这些示例可以让您感觉到一些简单但有力的任务可以由Chickenfoot Script自动化。

    >一个更高级的鸡脚脚本
    在简单的任务中,

    足够了 - 让我们用鸡脚做一些更先进的事情!

    >

    >我使用以下脚本将功能添加到Gmail中 - 具体来说,从页面中搜索并选择包含与特定鸡脚模式相匹配的文本的对话。这是每个人最喜欢的基于网络的电子邮件客户端的有用且有力的增强。

    >

    这是脚本:

    go("http://www.google.com/") 
    click("Images")
    go("http://images.google.com/imghp?hl=en&tab=wi")
    enter("Sign in", "koalas")
    click("Search Images button")
    go("http://images.google.com/images?hl=en&q=koalas&btnG=Search+Images
    &gbv=2")

    此脚本提示用户获取一些输入,然后将输入作为参数传递给Chickenfoot查找功能。请记住,发现接受鸡脚模式,因此,这种搜索的可能用途几乎是无限的,因为您可以要求它不仅仅是字符串匹配。

    >您可能会从我们第一次遇到无法返回数组的查找方法中回想起。因此,我们需要将结果读为一个数组。您可能会发现执行此任务的代码片段在您编写的其他鸡脚脚本中很有用:

    go("google.com") 
    click("Images")
    enter("koalas")
    click("Search Images button")
    在此之后,脚本通过查找功能返回的数组循环,并试图构造一个鸡脚模式,该图案将与包含我们搜索字符串的文本匹配。然后,我们使用Chickenfoot Check功能来切换最接近该文本部分的复选框,从而选择该消息。

    请记住,检查需要能够确保其具有确切的文本,或者会丢弃错误,这就是为什么我们不能仅对找到的检查。

    >上面脚本的一个值得注意的方面是相对于其达到的功能,其尺寸较小。与DOM这样的标准API,Chickenfoot的功能提供了与文档动态交互的更简单的方式。

    结论

    在本文中,我们研究了许多方法,您可以轻松地使用Chickenfoot与浏览器进行交互。在本文中,我们只从鸡脚上可以做的事情划过了表面 - 潜力很大,只有您的想象力才受到限制!
    >
    如果您有兴趣了解更多信息,请查看以下资源:>

    • >在Csail MIT集团的项目页面上对Chickyfoot的描述给出了一些关于该项目的想法,并链接到了一些学术论文。其中,Michael Bolin等人的论文。 al。 (PDF,0.41MB)包含许多有用的示例。
    • Chickenfoot Wiki提供了一些示例脚本。
    • 请参阅Google教育谈话,展示了鸡脚的各种用途。
    • >
    如果您创建一个杀手脚本,我鼓励您将其提交给Chickenfoot Wiki。快乐的脚本!

    >关于Web重写工具的常见问题(常见问题解答)

    > Web重写工具的主要目的是什么?

    > Web重写工具主要旨在帮助用户解释或重写内容。这对于需要从现有来源创建独特内容的内容创建者,作家,学生和专业人士特别有用。这些工具使用高级算法和人工智能来确保重写的内容在更改结构和措辞时保持原始含义以避免窃。它直接在浏览器中提供了一个编程环境,使用户可以操纵网页并自动化Web浏览。此功能将其设置为主要关注内容启示的其他重写工具。

    >

    > Web重写工具是否与所有浏览器兼容?

    >大多数Web重写工具都设计为与Google Chrome和Firefox等流行的浏览器兼容。但是,总是建议检查工具的规格或Chrome网络商店以获取兼容性信息。一些工具,例如OutWrite和WordTune,提供专用的Chrome扩展名,可轻松访问和使用。

    >

    > Web重写工具的结果如何可靠?

    > Web重写工具的结果可靠性可能会有所不同。大多数工具都使用高级AI和机器学习算法来确保重写的内容在语法上是正确的,并保持原始含义。但是,最好将重写的内容手动查看以获取准确性和上下文是一个好主意。

    我可以使用Web重写工具用于学术目的吗?

    >

    ,而Web重写工具可以有助于拼写内容,不应将它们用于窃或虚假或虚假的工作,尤其是在学术上,尤其是在学术上,尤其是在学术上。始终确保适当地引用您的来源。

    >

    > Web重写工具中的AI如何工作?

    Web重写工具中的AI使用自然语言处理(NLP)来理解原始内容的上下文和含义。然后,它在保持原始意图的同时重组和重新介绍内容。一些工具,例如hix.ai,都使用高级AI模型(例如GPT-3)进行高质量重写。

    > Web重写工具是否可以安全使用?

    大多数Web重写工具都是安全使用的。但是,重要的是要查看该工具的隐私政策,以了解如何处理数据。有些工具可能会暂时存储您的内容以进行处理,但是它们通常不会保留或共享您的数据。

    > Web重写工具可以提高我的写作技巧吗?

    是的,Web重写工具可以通过提供替代方法来表达您的想法和想法来帮助提高您的写作技巧。他们还可以帮助您学习新的词汇并改善语法。

    > Web重写工具是否支持多种语言?

    一些Web重写工具确实支持多种语言,但这不是通用功能。始终检查该工具的语言支持规范。

    >

    使用Web重写工具是否存在任何限制?

    ,而Web重写工具功能强大,它们可能并不总是完美地捕获人类语言的细微差别。他们可能会用复杂的句子或特定的行话斗争。因此,始终建议您查看和编辑重写的内容。>

以上是用鸡脚重写网络的详细内容。更多信息请关注PHP中文网其他相关文章!

声明:
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn