【问题标题】:Javascript with COM object带有 COM 对象的 Javascript
【发布时间】:2017-05-05 01:29:21
【问题描述】:

我正在使用 AHK 编写自动化脚本,并且已经浏览了他们的论坛和实时聊天,但无济于事。

我的问题是我正在使用 COM 对象来导航和单击网页上的内容。但是当转到网站的另一部分时,网页上的导航菜单不会改变 url。相反,他们使用“主控制器”,因此地址栏中的 url 永远不会改变,但网页会改变。

我无法访问源代码,但通过网络浏览器中的元素检查器,我知道 javascript 函数的名称以及它调用的参数以转到我想要的页面。

我想知道是否有办法通过 com 对象或其他方法来调用 javascript 函数,即使我没有直接访问源代码的权限?

感谢您的任何意见。

【问题讨论】:

    标签: javascript html com autohotkey


    【解决方案1】:

    是的,当然有。只需让您的脚本访问地址栏并在脚本中过去。例如:

    javascript:alert("Hello World");
    

    请注意,某些浏览器可能会删除第一部分并返回搜索结果,因此您可能必须拥有 AHK,在输入/粘贴命令后,回到开头并重新输入 @987654322 @ 部分。

    现在,当您调用函数而不引用源代码时,这是否有效,我不能说,但话又说回来,您可以在帖子中提供更多详细信息。

    【讨论】:

    • 我刚刚尝试过,它所做的只是返回到我最初所在的页面。我想我真的不知道我可以给你更多的细节。我无法浏览网页,因为按钮调用了 javascript 函数并且 url 没有改变。所以我无法在没有物理交互的情况下访问新网页。话又说回来,这就是原始帖子中的全部内容。
    • 什么网站?按钮代码有什么作用?细节决定成败。如果页面交付是框架的,或者 AJAX 或类似的东西,你将不得不找到一种方法让 AHK “点击”按钮,也许是Send {Click xpos, ypos, [button], [numberofclicks]}
    • 这是一个您必须登录的网站,因此除非您能够登录,否则您将无法对其进行任何操作。正如我所说,当您将鼠标悬停在菜单上时,您需要单击的按钮会显示。这需要是一个通用脚本,因此我无法指定确切的 x 和 y,因为它使用的屏幕尺寸可能会发生变化。上面还解释了按钮代码调用了一个改变网页的javascript函数。但是我无法访问源代码,如上所述,所以我无法告诉你它到底是做什么的。
    • 我仍然说可以做你想做的事。只是不是通过执行javascript。我使用了一个时间输入应用程序(“Bill4Time”),它有一个每日时间条目表和一行来输入一个新的条目(很明显,输入后该行位于不同的位置)。不幸的是,我需要单击以编辑条目的元素(看起来像一个按钮,但不使用 html 按钮标签)没有分配 ID 或类。尽管如此,通过在行元素类中搜索特定文本并向下移动一些子元素,我可以“单击”AHK 中的那个按钮。你也可以。祝你好运,玩得开心!
    • 所以我通过网站检查器获得了网站的所有 html 代码/js 代码。如果你认为你能够分析它并看看你是否能解决任何问题,我可以发布它。
    猜你喜欢
    • 1970-01-01
    • 2021-01-27
    • 2011-02-17
    • 2013-08-21
    • 2010-10-11
    • 1970-01-01
    • 2013-02-11
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多