小编dcm*_*own的帖子

iTerm标签切换顺序

每当我打开很多终端标签并通过键盘在它们之间切换时,每隔一段时间出现一个奇怪的问题就是标签出现故障.通常iTerm将激活/聚焦下一个选项卡到右侧或左侧,但有时我设法将此选项卡焦点顺序拧紧,它将跳过几个,然后切换回选项卡列表中的下一个.

因此,当我使用键盘在Command-left_arrow或Command-right_arrow之间切换选项卡并且选项卡乱序时,它们可能最终在选项卡行上来回跳跃.我还没弄明白我是如何从这个顺序中解脱出来的.

除了退出iTerm并重新启动之外,有没有办法解决这个问题?我该如何做到这一点?

tabs focus iterm2

41
推荐指数
2
解决办法
4164
查看次数

函数中的CasperJS querySelectorAll(变量)不返回任何结果

我正在编写一个站点刮板来从ajax站点获取一些特定内容而没有实际链接,只有可点击的文本.我现在只使用javascript大约一个星期,并且正在使用CasperJS,因为它会减少很多工作.

我发现的问题是我正在编写多个函数,它们都做同样的事情,只是根据它所在的页面搜索不同的链接.所以我有:

function getLinks() {
    var links = document.querySelectorAll('div.AjaxLink h3');
    return Array.prototype.map.call(links, function(link) {
        return link.innerText;
    });
}
Run Code Online (Sandbox Code Playgroud)

它的运行方式是:

casper.then(function() {
    var myLinks = this.evaulate(getLinks);
    /* ... link manipulation code code ... */
});
Run Code Online (Sandbox Code Playgroud)

这很好用.我显然不希望有六个函数只有一个不同的查询字符串.所以我想做的是:

function getLinks(findText) {
    var links = document.querySelectorAll(findText);
    return Array.prototype.map.call(links, function(link) {
        return link.innerText;
    });
}
Run Code Online (Sandbox Code Playgroud)

然后我试图通过以下方式运行它:

casper.then(function() {
    var myLinks = getLinks('div.AjaxLink h3');
    /* ... link manipulation code code ... */
});
Run Code Online (Sandbox Code Playgroud)

findText变量正确传入但看起来查询选择器总是返回一个空的NodeList.

我究竟做错了什么?是记录该函数内部创建了一个空文件?

javascript selectors-api phantomjs casperjs

4
推荐指数
1
解决办法
1122
查看次数

标签 统计

casperjs ×1

focus ×1

iterm2 ×1

javascript ×1

phantomjs ×1

selectors-api ×1

tabs ×1