<a id="ctl00_MainContent_UndoButton" class="a-button a-button--cancel
dd-data-link"
href="javascript:__doPostBack('ctl00$MainContent$UndoButton','')">
Undo </a>
Run Code Online (Sandbox Code Playgroud)
当我单击上面的按钮时,会打开一个新的动态 url 弹出窗口,然后注入以下脚本来打开页面。
//<![CDATA[
ToggleTempChanged();TogglePermaChanged()
;window.open('**/products/Car/EndTempAdjustment.aspxenc
=Y/qlHvbv+Gt2rmvC4GL1GzEO87O1bd8H91aPhk96iKLRMC+yw
MY3gWzR7jpKnJVPaIz+srgg
NtdnpsEudpo4lEa7ccLMPe2PXXQlxREtp8nsWkPq
7qKCBnVCt7n0m7f953bwfRYXrngveDlNLAqC
wjpPP6eIp6Sz+oEtMBkjUEHJd4jztk2IEJcsHskdXH6H**');
var Page_ValidationActive = false;
if (typeof(ValidatorOnLoad) == "function") {
ValidatorOnLoad();
}
function ValidatorOnSubmit() {
if (Page_ValidationActive) {
return ValidatorCommonOnSubmit();
}
else {
return true;
}
}
document.getElementById('ctl00_RequiredFieldValidator1').dispose =
function() {
Array.remove(Page_Validators,
document.getElementById('ctl00_RequiredFieldValidator1'));
}
document.getElementById('ctl00_RegularExpressionValidator1').dispose =
function() {
Array.remove(Page_Validators,
document.getElementById('ctl00_RegularExpressionValidator1'));
}
//]]>
Run Code Online (Sandbox Code Playgroud)
我已尝试了所有方法来尝试存根、删除新窗口的属性等,以使我能够在此页面上进行测试,但没有成功,并检查了有关打开新窗口的动态 url 的其他答案。有人知道如何从上面注入的代码中提取动态 URL 吗?我的计划是 cy.visit 到提取的动态 URL。
小智 5
假设CDATA
通过 API 调用进入页面,您可以通过查看浏览器的“开发人员工具/网络”选项卡找到该调用的 URL。
添加一个拦截来存根调用(以便window.open()
删除该部分),例如
cy.intercpet(url-dynamic-code, '//<![CDATA[//]]>`).as('intercept-undo')
cy.contains('Undo').click()
cy.wait('@intercept-undo') // confirms click happened
Run Code Online (Sandbox Code Playgroud)
然后您可以cy.visit('**/products/Car/EndTempAdjustment.aspxenc =Y/qlHv...')
测试该弹出窗口,但也许这不现实,因为看起来弹出窗口需要与主窗口交互。
归档时间: |
|
查看次数: |
57 次 |
最近记录: |