Проблема в том, что ASP.NET регистрирует две __doPostBack
функции.
Одна на странице:
//<![CDATA[
var theForm = document.forms['aspnetForm'];
if (!theForm) {
theForm = document.aspnetForm;
}
function __doPostBack(eventTarget, eventArgument) {
if (!theForm.onsubmit || (theForm.onsubmit() != false)) {
theForm.__EVENTTARGET.value = eventTarget;
theForm.__EVENTARGUMENT.value = eventArgument;
theForm.submit();
}
}
//]]>
И еще одна в исходном скрипте
Sys.Extended.UI.ControlBase.__doPostBack = function(n, t) {
if (!Sys.WebForms.PageRequestManager.getInstance().get_isInAsyncPostBack())
for (var i = 0; i < Sys.Extended.UI.ControlBase.onsubmitCollection.length; i++)
Sys.Extended.UI.ControlBase.onsubmitCollection[i]();
Function.createDelegate(window, Sys.Extended.UI.ControlBase.__doPostBackSaved)(n, t)
};
Поскольку они расширяют window
с помощью ControlBase
, * __doPostBack
функция, которую вы получаете - это функция из файла ресурсов, а не функция со страницы.
Вместо этого можно нажать кнопку.
await page.click('#ctl00_siteContent_widgetLayout_rptWidgets_ctl03_widgetContainer_ctl00_pgrTable_pagingLinksRepeater_ctl01_pageSelector');