【问题标题】:How to simulate clicks on <a href="javascript:dosomething(12345)">text</a> using python? [closed]如何使用 python 模拟对 <a href="javascript:dosomething(12345)">text</a> 的点击? [关闭]
【发布时间】:2010-07-26 11:14:21
【问题描述】:

我想在不控制网络浏览器的情况下模拟此类点击来完成这项工作。我不太了解javascript,实际上不知道从哪里开始。 有什么想法吗?

【问题讨论】:

  • 您需要在什么情况下进行模拟?是出于测试目的还是其他场景?
  • 我希望这不是您正在测试的应用程序。 javascript: 协议在很大程度上是非标准的。你应该使用&lt;a href="" onclick="dosomething(12345)"&gt;
  • 这不是我的应用程序,是的,它是用于测试的
  • 您可以使用 Selenium IDE。它有Python API,可以模拟浏览器。

标签: javascript python


【解决方案1】:

虽然我没用过,但我想也许斜纹布是你需要的:

也看看这个:

【讨论】:

    【解决方案2】:

    你可以在combination with Python中使用iMacros...

    这不是最直接的解决方案,因为它需要您编写 iMacros 脚本来执行实际点击,然后加载页面并从 Python 调用脚本。

    参考:

    【讨论】:

    • 我使用 iMacros 已经有一段时间了,但它并没有我预期的那么稳定,所以我想要一种直接的方式来完成这项工作。还是谢谢!
    • 仍然找不到“直接”的方式,所以我想我会坚持使用 iMacros。
    【解决方案3】:

    我建议你看看Selenium

    【讨论】:

      【解决方案4】:

      如果您可以控制链接(例如添加 ID 属性),则可以使用 javascript 来模拟点击

      var link = document.getElementById['yourLinksIdAttrbuteValue'];
      link.click();
      

      或者你可以使用 jQuery 选择器作为一种简单的方法来更好地定位链接而不改变它...

      <script src="http://ajax.googleapis.com/ajax/libs/jquery/1.4.2/jquery.min.js" type="text/javascript"></script>
      <script>
           $(function(){ $("a[href^='javascript']:contains('text')").click() });
      </script>
      

      使用该代码,它将从 google 的服务器加载 JQuery 库,等待 dom 加载,然后执行点击。

      有关 jQuery 选择器的更多信息,请查看http://api.jquery.com/category/selectors/

      【讨论】:

      • 嗯,我其实是在尝试写一个本地的python脚本来测试网站,那么我如何在python中使用javascript,有没有什么模块可以完成这项工作?我对javascript不太了解,所以我现在有点困惑。我应该把那些脚本代码放在哪里?我想要的是:一个本地脚本/程序,它可以模拟网站链接点击而不控制网络浏览器来完成这项工作,当我在我的计算机上运行这个脚本时,点击该页面上的 jsp 链接。我该怎么做?非常感谢。
      • 我是 python 新手,所以我不会提供太多帮助,我已经编辑了我的答案以包含您需要添加到页面的所有 HTML/javascript(假设他们'没有使用 jQuery,或者不兼容的库)。也许这篇博文会有所帮助:sivachandran.in/index.php/blogs/…
      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2021-01-08
      • 1970-01-01
      • 2021-12-19
      • 2013-01-02
      • 2012-05-05
      • 1970-01-01
      • 2012-12-19
      相关资源
      最近更新 更多