选择Pinterest上的所有图像以移动到另一个电路板

更新:(2015-10-16)[已解决!] - 修正与触发器()和限制到50针与切片()。

非常感谢Abhas Tandon通过使用提供

$(this).trigger('click');

代替

$(this).addClass('selected');

它会正确选择图像。 我测试了一张由21张图像组成的电路板,它的工作非常完美! 但是,当试图移动300多个引脚时,它会因此错误而失败:

"You can only move 50 Pins at a time." 

然后,我通过使用JavaScript的slice()函数来抓取前50张图像,从而解决了这个问题。 经过测试,现在它可以正常工作。 所以我的限制是,我一次只能选择和移动50个针脚,但这比用手一个接一个地选择它要好得多!


最终工作代码:

function checkAll() {
    console.log("Checkboxes count: " + checkBoxes.length);

    $.each(checkBoxes, function(i, v) {
      console.log("Checkbox #: " + i)// + " = " + v);
      $(this).trigger('click');

    });
}

var checkBoxes = $("div > div > div.bulkEditPinWrapper > button");

var checkBoxes = checkBoxes.slice(1, 51);

checkAll();




问题描述:

我正在开发一个用于Pinterest界面(?)脚本(?)的问题。 我是一名程序员,主要是自学成才,我想我错过了一些关于AJAX的理解的关键组成部分? 这是我第二次尝试编写一个jQuery脚本来与Pinterest交互。 第一个是试图击败无限滚动功能(AKA“加载更多”按钮),以便将所有图像显示在一个页面上,从中我可以抓取图像链接,然后使用浏览器插件下载它们以备份我的Pinterest板到我的电脑。 我的代码都能正常工作,除非它实际上并没有最终下载任何图像。

失望的是,我搁置了其他的事情。 最终我重新访问了我的代码并做了一些挖掘工作,它应该可以工作。 我的研究表明,可能阻止我的程序执行我想要的操作的关键缺陷与“Pinterest使用AJAX”有关。 虽然我意识到术语“使用XML的异步JavaScript”和“XMLHttpRequest”,但在实现AJAX方面,我并不是专家。

用我最新的代码,我写了一个 - 你会认为这将是 - 快速小jQuery脚本来选择所有图像,以便我可以移动它们,删除,复制等......问题是,虽然检查所有的框作品(例如,您必须在董事会并点击“移动”),当我再次单击“移动”按钮时,应该弹出一个模式,让我们选择要移动的板子,我所得到的只是

Oops!
Select the Pins you want to move.


使用:

  • Chrome 45.0.2454.101
  • Windows 8.1 64位

  • 如何重现问题:

  • 在笔记本电脑或台式电脑上登录您的Pinterest帐户。
  • 选择一块电路板或从头开始构建一个测试板(这样就不会丢失任何当前的引脚)。
  • 点击右上角的“移动”。 这将使透明的复选框出现在每个图像的右上角。 注意:Pinterest显示未勾选的复选框,其中已经有复选标记。 你知道一个盒子的方式已经被检查,它保留了复选标记,盒子背景变成了固定的(不再透明)红色。
  • 在您的浏览器中启动您的开发人员工具控制台(Firefox / Chrome:F12)。
  • 将以下脚本添加到浏览器中的JavaScript控制台。
  • 运行脚本。 如果它“工作”,你应该看到所有的复选框现在都是红色的。
  • 再次点击“更多”按钮。 现在您将看到“选择要移动的针脚”。 消息,表明实际上,选择全部不起作用。
  • 注意:在这一点上我并不担心分页,但如果有人想解决这个问题,我也愿意解决这个问题。


    脚本选择所有图像:

    /* 
       @Repo:     EHW-JavaScript-Pinterest-SelectAllImages.
    
       @Creator:  Eric Hepperle (CodeSlayer2010/CodeWizard13)
       @Date:     10/15/15
       @Version:  1.0
    
       @Purpose:  Click "Move" in Pinterest board to move pins.
                  Once checkboxes are visible, run this in an
                  F12 browser console to automatically check all
                  visible image pins. You will have success when
                  the color of all checkboxes turns red. Then
                  click "Move" again to finish.
    
        @Notes:
            2015.10.15
                - Created script.
                - Checks all checkboxes, but does not allow moving.
    
    */
    
    function checkAll() {
        console.log("Checkboxes count: " + checkBoxes.length);
    
        $.each(checkBoxes, function(i, v) {
          console.log("Checkbox #: " + i)// + " = " + v);
          $(this).addClass('selected');
    
        });
    }
    
    //$(document).ready(function() {
        alert('hi');
    
        var checkBoxes = $("div > div > div.bulkEditPinWrapper > button");
    
        checkAll();
    //});
    


    我试图修正它的问题:

  • Google搜索解决方案。 我发现了以下文章。 最后一个看起来可能是我所需要的,但似乎并没有把重点放在我的问题上。

  • StackOverflow | jQuery为图像链接添加一个类,而不会在链接传递变量时搞乱
  • Quora | Pinterest用户反馈:您能否提供选项以“选择多个引脚并将它们插入电路板”或“将图像一次性插入多个电路板”?
  • StackOverflow | 识别并提取图像的标题/描述(数据刮擦Pinterest)
  • StackOverflow | 从Pinterest网址获取电路板上的所有图像
  • 最初尝试将每个复选框的“checked”属性设置为“true”,但最终没有检查框(为什么?)。 但是,然后我在浏览器控制台中观察到,当我单击以选择图像时,将“选定”类应用于该图像。 因此,我使用addClass()将该类应用于我的代码中的所有复选框,并且我能够获得所有复选框以便正确选择......或者看起来似乎。

  • 我通过调用$(document).ready来尝试代码,但它给了我错误

    "Uncaught ReferenceError: checkBoxes is not defined(…)"
    

  • 我永远花了我的时间来格式化......先谢谢你的帮助。 我很高兴澄清,如果有什么不清楚。 另外,请让我知道这个职位是否属于不同的论坛。 谢谢。


    我试着在每个元素上触发click事件,它对我来说非常合适。 无法通过滚动来尝试,因为我的董事会中没有这么多图片。

    function checkAll() {
        console.log("Checkboxes count: " + checkBoxes.length);
        $.each(checkBoxes, function(i, v) {
            console.log("Checkbox #: " + i) // + " = " + v);
            $(this).trigger('click');
        });
    }
    var checkBoxes = $("div > div > div.bulkEditPinWrapper > button");
    checkAll();
    

    请让我知道这对你有没有用。

    链接地址: http://www.djcxy.com/p/87123.html

    上一篇: Select all images on Pinterest for moving to another board

    下一篇: How to move an image from one position to another with CSS?