最近很多小伙伴都在问单击Scrapy中的按钮和scrapy模拟点击这两个问题,那么本篇文章就来给大家详细解答一下,同时本文还将给你拓展javascript–传递ASP.NET按钮单击SweetAler
最近很多小伙伴都在问单击Scrapy中的按钮和scrapy 模拟点击这两个问题,那么本篇文章就来给大家详细解答一下,同时本文还将给你拓展javascript – 传递ASP.NET按钮单击SweetAlert中的事件、javascript – 如何在jquery中找到从表单提交事件中单击的按钮?、javascript-从jquery中的按钮组切换单击按钮的值、javascript-如何检测googlemaps infowindow中的按钮单击等相关知识,下面开始了哦!
本文目录一览:- 单击Scrapy中的按钮(scrapy 模拟点击)
- javascript – 传递ASP.NET按钮单击SweetAlert中的事件
- javascript – 如何在jquery中找到从表单提交事件中单击的按钮?
- javascript-从jquery中的按钮组切换单击按钮的值
- javascript-如何检测googlemaps infowindow中的按钮单击
单击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中的事件
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中找到从表单提交事件中单击的按钮?
我有一个函数,我用来防止表单的多个回发:
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中的按钮组切换单击按钮的值
我正在尝试使用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中的按钮单击
这个问题已经在这里有了答案: > 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 linegoogle.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中的按钮单击等更多相关知识的信息可以在本站进行查询。
本文标签: