javascript - 无法评估 casperjs 中的远程函数

标签 javascript phantomjs casperjs

考虑这些简单的 html:

<html>
  <body>
    <h1 id='h1'>hello casperjs</h1>
    <a href='javascript: rmH1()'>remove</a>
    <script>
        function rmH1(){
            document.getElementById('h1').remove();
        }
    </script>
  </body>
</html>

通过单击 a 元素,h1 元素将被删除。
接下来是我用 CoffeeScript 编写的 js 代码:

casper = require('casper').create()

casper.start 'file:///Users/username/my.html', ->
    @capture 'before.png'
    @evaluate ->
        rmH1()
    @capture 'after.png'

casper.run()

但是从屏幕截图来看,h1 元素也没有被删除。
如何正确调用远程函数rmH1()

最佳答案

不存在 element.remove() 这样的东西。你应该使用

var h1 = document.getElementById('h1');
h1.parentNode.removeChild(h1);

如果您监听了“page.error”事件,您会发现removenot a function .

关于javascript - 无法评估 casperjs 中的远程函数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31110269/

相关文章:

javascript - 用正则表达式替换文本中的多个字符串

javascript - 当向查询选择器传递变量时,CasperJS 找不到链接

r - 在 R 中使用 RSelenium 和 phantomjs 登录网站,存在多个类实例

html - 如何在 CasperJS 中使用表单名称填写表单

javascript - 使用光线转换器从玩家的视野中获取交叉点坐标?

javascript - 用JS显示计数器变量

javascript - 如何循环遍历数组(递归)并将对象键/值对推送到另一个数组中?

javascript - 使用 phantomjs 和 Jquery 登录网页

javascript - Casperjsvisible() 返回 true 而 jquery 为 (':visible' ) 对于相同的选择器返回 false

Jenkins + CasperJS