使用Javascript单击弹出窗口中的按钮
在我的网站上,我试图制作一个html页面,让JS转到我网站中的另一个页面并单击一个按钮。单击该按钮将创建一个弹出窗口,我想在其中单击另一个按钮。我该怎么做 我知道我可以使用getElementsByName()。单击()来单击按钮,但我不确定如何进入弹出窗口。.click()是否返回弹出窗口的窗口对象 我没有能力更改这些网页使用Javascript单击弹出窗口中的按钮,javascript,Javascript,在我的网站上,我试图制作一个html页面,让JS转到我网站中的另一个页面并单击一个按钮。单击该按钮将创建一个弹出窗口,我想在其中单击另一个按钮。我该怎么做 我知道我可以使用getElementsByName()。单击()来单击按钮,但我不确定如何进入弹出窗口。.click()是否返回弹出窗口的窗口对象 我没有能力更改这些网页 提前感谢。如果在iframe中加载第二页,则可以执行此操作 代码是这样的 var iframe = document.getElementById('secondPageI
提前感谢。如果在iframe中加载第二页,则可以执行此操作 代码是这样的
var iframe = document.getElementById('secondPageIframe');
var innerDoc = iframe.contentDocument || iframe.contentWindow.document;
var firstButton = innerDoc.getElementById('buttonId');
// This will open the modal
if (typeof firstButton.onclick == "function") {
firstButton.onclick.apply(firstButton);
}
// Just a delay to be sure that the modal has finished with animations
setTimeout(function() {
var modalButton = innerDoc.getElementById('modalButtonId');
if (typeof modalButton.onclick == "function") {
modalButton.onclick.apply(modalButton);
}
}, 500);
这应该可以完成工作,但您必须在iframe中打开该页面,并且该页面必须位于同一域中,否则这将是跨站点脚本编写的目的。只需使用selenium…从另一个网页抓取网页是没有意义的。如果弹出窗口是指浏览器中的另一个页面,而不是模式窗口,您需要在此弹出窗口中执行另一个脚本才能访问它。弹出窗口是否也在您的站点上?您可以使用URL参数或执行POST请求从第一页获取信息。很遗憾,我没有能力更改URL或处理POST。@利亚姆我知道这没有意义,但有必要将一页转到另一页,您可以创建iframe并在那里打开第二页。您不需要更改具有模式的页面,只需更改运行脚本的页面即可。