小编Moh*_*sal的帖子

Puppeteer:如何单击元素以便在新选项卡中打开?

我有一个包含 25 个可点击元素的列表。我需要在新选项卡中打开它们中的每一个,抓取在新选项卡中打开的新页面,然后将其关闭。然后转到下一个元素,并对列表中的每个元素执行相同的操作。

但是,我在通过单击链接在新选项卡中打开链接时遇到问题。我设法打开然后,page.goto('link")但我想让它更加人性化,而不是将链接粘贴到新选项卡中,我想通过单击打开。

let accountsClickElements = await page.$$eval(".result-lockup__name a", el => el.map(x => x.getAttribute("id")));
                                                                                        
 for (let i = 0; i<25; i++) {
     await autoScroll(page);
     await page.waitFor(3000);
     let id = companies[i];
     await page.focus("#"+accountsClickElements[0]);
     accountsClickElements = await page.$$eval(".result-lockup__name a", el => el.map(x => x.getAttribute("id")));
     await page.waitFor(3000);
     await page.focus("#"+accountsClickElements[i]);                             
     await page.click("#"+accountsClickElements[i]);
     await page.waitFor(2000);
     console.log("#"+companies[i].linid);
     await page.goBack(); 
  }                              `
Run Code Online (Sandbox Code Playgroud)

这是一段在同一选项卡中打开链接的代码,但一段时间后,它不会占用所有 25 个元素,并且由于每次打开页面时 id 都会发生变化,因此出现错误。

我已经像这样更改了代码,因此不是单击元素,而是单击 href 属性。目标 _blank 属性在那里,但它仍然在同一个选项卡上打开。你能指出原因吗?

await page.$$eval('.result-lockup__name a', el => el.map(x => x.setAttribute("target", "_blank")));
let accountsClickElements = …
Run Code Online (Sandbox Code Playgroud)

javascript web-scraping puppeteer

8
推荐指数
2
解决办法
1万
查看次数

net::ERR_HTTP_RESPONSE_CODE_FAILURE 加载 url android webview

我正在使用 android webview 加载网站并收到以下错误

net::ERR_HTTP_RESPONSE_CODE_FAILURE
Run Code Online (Sandbox Code Playgroud)

我只是想知道为什么我会收到此错误。我没有找到与此错误相关的任何有用的参考。

谢谢,

android webview android-webview

5
推荐指数
1
解决办法
1万
查看次数

用按钮打开一个新窗口?

我需要打开一个新窗口进行打印,有人可以告诉我该怎么做吗?

我的按钮点击代码:

我的 window.location 有效,但不能使用 window.open

$('.btnFromIndexPrint').click(function () {
    if (document.URL.indexOf('index') > -1) {
         // window.location = '../Print/' + $(this).attr('id');
         window.open = '../Print/' + $(this).attr('id');
    } else {
        //window.location = 'Contract/Print/' + $(this).attr('id'); //Redirect  from Index page to print action
        window.open = 'Contract/Print/' + $(this).attr('id');
    }

});
Run Code Online (Sandbox Code Playgroud)

我的html:

我知道有一种叫做 target ="blank" id 的东西不认为它会起作用。

<input type="button" value="Print" class="btnFromIndexPrint" id="@item.SalesContractId"/>
Run Code Online (Sandbox Code Playgroud)

我将如何在新页面上打开重定向?

重要的!!!!!!!

return RedirectToAction("Print", new { id = contractInstance.SalesContractId });
Run Code Online (Sandbox Code Playgroud)

asp.net-mvc jquery new-window

1
推荐指数
1
解决办法
2万
查看次数