我如何在PhantomJS只知道弹出id的情况下打开弹出窗口

How do I get a popup open with PhantomJS only knowing the popup id?

本文关键字:id 窗口 情况下 PhantomJS      更新时间:2023-11-28

我正试图使用PhantomJS打开一个通常通过链接调用的弹出窗口,并转储该弹出窗口的图片。我只找到了使用id的方法,但所有链接都有相同的id、相同的href值和相同的标题。所有链接之间的唯一区别是显示弹出功能中的3个字母代码,该代码对应于3个字母的链接文本。

如何做到这一点?我可以启动ShowPopup('XXX')功能吗?还是需要想办法真正点击链接?

<a href="#" id="ShowInfoHref" title="ABC" onclick="ShowPopup('XXX');return false;">XXX</a>

此链接将打开弹出窗口:

<div class="ui-dialog-content ui-widget-content" id="XXX" style="width: auto; min-height: 25.7667px; height: auto;">...code...</div>

我想我可以让phantomjs屏幕转储div吗?

最简单的方法是简单地调用ShowPopup('XXX'):

page.evaluate(function(){
    ShowPopup('XXX');
});
setTimeout(function(){
    // do something with it
}, 1000);

您也可以单击具有特定属性CSS选择器a[onclick*="XXX"]的链接。[attribute*=value]选择器匹配属性在任何位置都包含值的元素。