GVKun编程网logo

单击Scrapy中的按钮(scrapy 模拟点击)

12

最近很多小伙伴都在问单击Scrapy中的按钮和scrapy模拟点击这两个问题,那么本篇文章就来给大家详细解答一下,同时本文还将给你拓展javascript–传递ASP.NET按钮单击SweetAler

最近很多小伙伴都在问单击Scrapy中的按钮scrapy 模拟点击这两个问题,那么本篇文章就来给大家详细解答一下,同时本文还将给你拓展javascript – 传递ASP.NET按钮单击SweetAlert中的事件、javascript – 如何在jquery中找到从表单提交事件中单击的按钮?、javascript-从jquery中的按钮组切换单击按钮的值、javascript-如何检测googlemaps infowindow中的按钮单击等相关知识,下面开始了哦!

本文目录一览:

单击Scrapy中的按钮(scrapy 模拟点击)

单击Scrapy中的按钮(scrapy 模拟点击)

我正在使用Scrapy来爬行网页。当您单击某个按钮时,仅弹出一些我需要的信息(当然,单击后也会显示在HTML代码中)。

我发现Scrapy可以处理的形式(如登录)如图所示这里。但是问题是没有表格可以填写,所以这不是我所需要的。

如何简单地单击一个按钮,然后显示我需要的信息?

我是否必须使用诸如机械化或lxml之类的外部库?

答案1

小编典典

Scrapy无法解释javascript。

如果您绝对必须与页面上的javascript交互,则要使用Selenium。

如果使用Scrapy,问题的解决方案取决于按钮的作用。

如果只是显示以前隐藏的内容,则可以毫无问题地抓取数据,也不会出现在浏览器中,HTML仍然存在。

如果在按下按钮时通过AJAX动态获取内容,那么最好的办法是使用Firebug等工具查看按下按钮时发出的HTTP请求。然后,您可以直接从该URL请求数据。

我是否必须使用诸如机械化或lxml之类的外部库?

如果您想解释javascript,是的,您需要使用其他库,尽管这两者都不适合。他们俩都不了解javascript。硒是要走的路。

如果您可以提供要抓取的页面的URL,我可以看一下。

javascript – 传递ASP.NET按钮单击SweetAlert中的事件

javascript – 传递ASP.NET按钮单击SweetAlert中的事件

我有一个C#方法执行挂起操作.

protected void SuspendButton_OnClick(object sender,EventArgs e)
    {
        var accountNumberId = Depositaccount.DepositaccountNumberId;
        var depositaccount = AccountHolders.GetAccountHolder(accountNumberId);

        if (depositaccount == null)
        {
            ShowFailModal("No Account Selected");
        }

        Common.Deposit.AccountSuspension accntSuspension = new Common.Deposit.AccountSuspension();
        accntSuspension.AuditTS = BusinessLayer.Core.DateConversion.GetCurrentServerDate();
        accntSuspension.AuditUserId = UserId;
        accntSuspension.Description = DescriptionTextBox.Text;
        accntSuspension.SuspendedDate = GetDate;
        accntSuspension.AccountNumberId = accountNumberId;

        if (depositaccount != null)
        {
            InsertSuspendedAccount(accntSuspension);
        }

    }

我现在正在使用BootBox

$('#SuspendButton').on('click',function (evt) {
            evt.preventDefault();
            var message = "Are you sure you want to Suspend this Account?";

            bootBox.confirm(message,function (result) {
                if (result === false) {
                    evt.preventDefault();
                } else {
                   // $.showprogress("Account Suspending.Please Wait...");
                    window.__doPostBack("<%= SuspendButton.UniqueID %>","");
                }

            });
        });

这是SweetAlert的样本:

swal({   title: "Are you sure?",text: "You will not be able to recover this imaginary file!",type: "warning",showCancelButton: true,confirmButtonColor: "#DD6B55",confirmButtonText: "Yes,delete it!",cloSEOnConfirm: false 
      },function(){  
         swal("Deleted!","Your imaginary file has been deleted.","success"); 
});

我怎样才能让它像BootBox一样工作?就像在BootBox中一样,当我按下SuspendButton时,它会抛出一个bootBox.confirm弹出窗口,如果我按下O,K就会执行基础操作.我可以用SweetAlert做同样的事情吗?

解决方法

您可以尝试这样的事情,如果这不是您想要的,请告诉我

$('#SuspendButton').on('click',function (evt) {
           evt.preventDefault();
           //var message = "Are you sure you want to Suspend this Account?";

       swal({   title: "Are you sure?",cloSEOnConfirm: false 
            },function(isConfirm){   
            if (isConfirm) {     
                // $.showprogress("Account Suspending.Please Wait...");
                window.__doPostBack("<%= SuspendButton.UniqueID %>","");  
            } else {     
            evt.preventDefault();   }
        });    
  });

javascript – 如何在jquery中找到从表单提交事件中单击的按钮?

javascript – 如何在jquery中找到从表单提交事件中单击的按钮?

我有一个函数,我用来防止表单的多个回发:

var submitted = false;
$(function() {
    $('form').bind('submit', function(e) {
        if (!submitted && CanSubmit(e)) {
            submitted = true;
            return true;
        } else {
            return false;
        }
    });
});

在CanSubmit方法中,我需要查询被单击的按钮以确定是否应该允许提交.

请注意,我无法绑定到特定的点击事件 – 有关详细信息,请参阅this previous question.

在Firefox中,我可以使用e.originalEvent.explicitOriginalTarget,但这显然在IE中不可用.

如何以跨浏览器的方式从e参数中获取此值?

解决方法:

实际上你可以直接替换$(‘form’).bind(‘submit’with $(‘:submit’).bind(‘click’和你的代码也可以正常工作(你可以使用它来查看被点击的内容) ).

javascript-从jquery中的按钮组切换单击按钮的值

javascript-从jquery中的按钮组切换单击按钮的值

我正在尝试使用asp.net mvc 4& jQuery 1.9.1,我要在文本框中为按下的相应按钮插入布尔值(Y或N).它适用于单个按钮,但不适用于按钮组.这是我的代码,

$(document).ready(function () {
    var isClicked = 0;
    $('.btn').click(function () {
        if (isClicked == 0) {
            isClicked = 1;
            $(this).toggleClass('color-blue color-green');
            $(this).next('.assignCheck').val('Y');
        } else if (isClicked == 1) {
            isClicked = 0;
            $(this).toggleClass('color-green color-blue');
            $(this).next('.assignCheck').val('N');
        }
    });
});

JSFiddle Demo

如何使按钮单独工作?急需此帮助.谢谢.

解决方法:

u您可以使用带有按钮的data-attribute来存储其点击值是1还是零,并使用该值更新相应的文本框

Live Demo

HTML

<buttondata-clicked="0">ONE</button>
<input type="text"/><br><br>
<buttondata-clicked="0">TWO</button>
<input type="text"/><br><br>
<buttondata-clicked="0">THREE</button>
<input type="text"/>

jQuery查询

$(document).ready(function () {        
    $('.btn').click(function () {
        var isClicked = $(this).data("clicked");        
        if (isClicked == 0) {
            isClicked = 1;
            $(this).toggleClass('color-blue color-green');
            $(this).next('.assignCheck').val('Y');
        } else if (isClicked == 1) {
            isClicked = 0;
            $(this).toggleClass('color-green color-blue');
            $(this).next('.assignCheck').val('N');
        }
        $(this).data("clicked", isClicked);
    });
})

javascript-如何检测googlemaps infowindow中的按钮单击

javascript-如何检测googlemaps infowindow中的按钮单击

这个问题已经在这里有了答案:            >            using addDomListener with googlemaps not working                                    1个
使用Googlemaps V3

我试图在我的googlemap上的infoWindow中添加一个按钮. infoWindows和按钮按预期出现.我正在尝试捕获按钮的onclick事件.这是我到目前为止的内容:

var contentBtn = '<p><button id="marker'+numby+'"href="#" >Done</button></p>';
        google.maps.event.addListener(marker, 'click', function() {
            infowindow.setContent(address+contentBtn);
            infowindow.open(map, this);
        });

        google.maps.event.addDomListener(contentBtn, 'click', function() {

          alert($(this).attr('id'));
        });

infoWindow随同按钮一起出现.但是,我也在控制台日志中得到以下错误:

Uncaught TypeError: Cannot read property ‘click’ of undefined
This appears to be caused by the line google.maps.event.addDomListener(contentBtn, 'click', function()

解决方法:

在信息窗口完成渲染之前,按钮不会添加到DOM.直到infowindow domready event触发后,您才能使用getElementById(或等效的jquery)找到它.

var contentBtn = '<p><button id="marker'+numby+'"href="#" >Done</button></p>';
    google.maps.event.addListener(marker, 'click', function() {
        infowindow.setContent(address+contentBtn);
        infowindow.open(map, this);
    });
    google.maps.event.addListener(infowindow, 'domready', function() {
      google.maps.event.addDomListener(contentBtn, 'click', function() {

        alert($(this).attr('id'));
      });
    });

今天关于单击Scrapy中的按钮scrapy 模拟点击的介绍到此结束,谢谢您的阅读,有关javascript – 传递ASP.NET按钮单击SweetAlert中的事件、javascript – 如何在jquery中找到从表单提交事件中单击的按钮?、javascript-从jquery中的按钮组切换单击按钮的值、javascript-如何检测googlemaps infowindow中的按钮单击等更多相关知识的信息可以在本站进行查询。

本文标签: