标签: headless-browser

Puppeteer Headless 被谷歌屏蔽为 headless: false

我正在使用 puppeteer 执行一些操作并拍摄屏幕截图。整个过程有多重身份验证,首先是 Gmail 登录,然后 SSO 重定向到 Microsoft,然后我们从它们进入应用程序。我面临的问题是,当我设置浏览器 - headless : false 时,一切正常,但是当我设置 headless: true 时,Gmail 开始要求验证码,有时它说浏览器不安全。

\n

我已经尝试解决这个问题很长一段时间了,但我完全盲目了。我通过互联网阅读并发现了很多选项,例如设置用户代理、添加首选项等,但它们都不起作用。

\n

这是我的简单代码和屏幕截图。

\n
// puppeteer-extra is a drop-in replacement for puppeteer,\n// it augments the installed puppeteer with plugin functionality\nconst puppeteer = require(\'puppeteer-extra\');\n//puppeteer.use(require(\'puppeteer-extra-plugin-stealth\')());\n\n// add stealth plugin and use defaults (all evasion techniques)\nconst StealthPlugin = require(\'puppeteer-extra-plugin-stealth\');\nconsole.log(StealthPlugin.availableEvasions);\npuppeteer.use(StealthPlugin());\n//const RecaptchaPlugin = require(\'puppeteer-extra-plugin-recaptcha\')\n\n\n//const puppeteer = require(\'puppeteer\')\n\n// puppeteer usage as normal\npuppeteer.launch({ headless: true, executablePath: \'/Applications/Google Chrome.app/Contents/MacOS/Google Chrome\', setUserAgent: \'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like …
Run Code Online (Sandbox Code Playgroud)

headless-browser puppeteer

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

Puppeteer 旧的 Headless 弃用警告:

const bot = require("puppeteer");
const fs = require("fs");
const botConfiguration ={
headless:false, 
executablePath:"C:/Program Files/Google/Chrome/Application/chrome.exe",
userDataDir: "C:/Users/bot/AppData/Local/Google/Chrome/User Data/",
args: ['--profile-directory=Profile 28']
};
async function runBot() {
const chromeBrowser = await bot.launch(botConfiguration)
const chromeBrowserPage = await chromeBrowser.newPage()
await chromeBrowserPage.goto("https://www.google.com/")
};
runBot();
Run Code Online (Sandbox Code Playgroud)

Puppeteer 旧的 Headless 弃用警告:

在不久的将来,headless: trueChrome 将默认使用新的 Headless 模式,而不是旧的 Headless 实现。有关更多信息,请参阅https://developer.chrome.com/articles/new-headless/。考虑尽早选择加入headless: "new"如果您遇到任何错误,请向https://github.com/puppeteer/puppeteer/issues/new/choosepuppeteer.launch() 报告。

我不想在我的终端中看到这个错误............

Puppeteer 旧的 Headless 弃用警告:

automation headless headless-browser google-chrome-headless puppeteer

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

你能在Heroku上部署Watir来生成HTML快照吗?如果是这样,怎么样?

我想使用在Heroku上托管的Watir生成HTML快照.

Google 制作AJAX应用程序完整规范Crawlable建议使用HTMLUnit ...请参阅如何创建HTML快照?第3点.

HtmlUnit是一个仅限Java的无头浏览器模拟器; 不幸的是,jRuby不是Heroku的选项.所以HtmlUnit被排除了(据我所知).

如果你感兴趣我还有另外一个问题,关于HtmlUnit作为托管在Google App Engine上的服务...... 让AJAX应用程序可以抓取吗?如何在Google App Engine上构建简单的Web服务来生成HTML快照?......仍在等待一个经过验证的例子/答案.

hosting googlebot heroku watir headless-browser

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

Selenium 与 Python:send_keys() 在无头 ubuntu 上不起作用

我正在使用 python Selenium,以及 digitalocean 的无头 ubuntu,其中有无头 Chrome。我用了

driver.find_element_by_tag_name('body').send_keys(Keys.CONTROL + Keys.TAB)
Run Code Online (Sandbox Code Playgroud)

在 senium.webdriver.common.keys

但这不起作用。

我导入了所需的所有内容,没有 python 语法错误,并成功运行,但选项卡未随我的代码切换。

driver.find_element_by_tag_name('body').send_keys(Keys.CONTROL + 't')
Run Code Online (Sandbox Code Playgroud)

也不起作用。相同的代码可以在我的本地计算机上的选项卡之间切换,该计算机具有物理键盘和显示器。顺便说一句,我将 pyvirtualdisplay 与我的无头 Chrome 一起使用。

我怀疑使用 headless Ubuntu 和 headless Chrome 可能会导致这个问题。我猜想无头 Ubuntu 无法发送密钥,如上面代码所示。

如何让我的远程无头 Ubuntu 将密钥发送到浏览器?

selenium headless-browser selenium-chromedriver

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

哪些驱动程序支持"无浏览器"/"无头"测试?

实际上我想在不想打开任何浏览器的服务器上运行我的selenium代码.但我很困惑哪个webdriver用于执行所有任务的服务器(我从某个站点下载一些文件并存储在我的服务器中).

selenium webdriver headless headless-browser selenium-webdriver

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

如何使用 Puppeteer 刮桌子?

我想要的是刮一张表,并将数据保存在一个数组中,例如result=[tr][ts].

我怎样才能得到我想要的结果?

我正在尝试这样的事情:

const row = await mainframe.$$eval('#clasificacion > .panel > .table- responsive > #resultadosTable > tbody > tr ', trs => trs.map((tr) =>{
console.log(tr);
return tr.textContent;}));
Run Code Online (Sandbox Code Playgroud)

但结果就像result=[tr]

javascript node.js headless-browser google-chrome-devtools puppeteer

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

Puppeteer 登录 Instagram

我正在尝试使用 Puppeteer 登录 Instagram,但不知何故我无法做到。

你能帮助我吗?

这是我正在使用的链接:

https://www.instagram.com/accounts/login/

我尝试了不同的东西。我试过的最后一个代码是这样的:

const puppeteer = require('puppeteer');

(async() => {
const browser = await puppeteer.launch();
const page = await browser.newPage();
await page.goto('https://www.instagram.com/accounts/login/');
await page.evaluate();

await afterJS.type('#f29d14ae75303cc', 'username');

await afterJS.type('#f13459e80cdd114', 'password');

await page.pdf({path: 'page.pdf', format: 'A4'});

await browser.close();
})();
Run Code Online (Sandbox Code Playgroud)

提前致谢!

javascript node.js web-scraping headless-browser puppeteer

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

在 Python 中,如何通过保存的浏览器会话使 Selenium 无头工作?

我正在尝试绕过 web.whatsapp.com 二维码扫描页面。这是我到目前为止使用的代码:

options = webdriver.ChromeOptions();
options.add_argument('--user-data-dir=./User_Data')
driver = webdriver.Chrome(options=options)
driver.get('https://web.whatsapp.com/')
Run Code Online (Sandbox Code Playgroud)

第一次尝试时,我必须手动扫描 QR 码,而在以后的尝试中,它不会要求提供 QR 码。

但是,如果我在添加此行 chrome_options.add_argument("--headless") 后尝试执行相同的操作,则会出现将 DevTools 活动端口写入文件时出错。我尝试了至少十几种不同的谷歌搜索解决方案,但没有一个有效。对此的任何帮助将不胜感激!谢谢。

到目前为止,尝试了不同组合中的一堆不同参数,但没有任何效果:

options = Options() #decomment for local debugging
options.add_argument('--no-sandbox')
options.add_argument('--headless')
options.add_experimental_option('useAutomationExtension', False)
options.add_argument('--disable-setuid-sandbox')
options.add_argument('--remote-debugging-port=9222')
options.add_argument('--disable-dev-shm-usage')
options.add_argument('--disable-gpu')  # Last I checked this was necessary.
options.add_argument('start-maximized')
options.add_argument('disable-infobars')
options.add_argument('--user-data-dir=./User_Data')
driver = webdriver.Chrome('chromedriver.exe', options=options)

driver.get('https://web.whatsapp.com/')
Run Code Online (Sandbox Code Playgroud)

python selenium headless headless-browser whatsapp

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

?_escaped_fragment_ = - 无头浏览器

我需要做些什么才能?_escaped_fragment_=为我的服务器添加支持?我希望谷歌能够通过我的ajax网站进行抓取.我的哈希已经#!形成了

但我不知道如何告诉我的服务器,当我进入mywebsite.com/?_escaped_fragment_=section我的浏览器,所以网址mywebsite.com/section和它将等于mywebsite.com/#!

谢谢

ajax hash web-crawler headless-browser

0
推荐指数
1
解决办法
1593
查看次数

如何在机器人框架中使用无头镀铬浏览器启用下载文件?

如何使用Page.setDownloadBehavior在Chrome浏览器开发工具来传递,这样我可以用下面的代码设置为无头镀铬的下载行为?

    Create Chrome Browser
    [Arguments]    ${link_to_open}
    ${chrome_options}=    Evaluate    sys.modules['selenium.webdriver'].ChromeOptions()    sys, selenium.webdriver
    ${prefs}=    Create Dictionary    download.default_directory=${DOWNLOADS_DIR}
   Call Method    ${chrome options}    add_argument    headless 
   Call Method    ${chrome options}    add_argument    disable-gpu
  Selenium2Library.Go To    ${link_to_open}
Run Code Online (Sandbox Code Playgroud)

headless-browser robotframework google-chrome-headless

0
推荐指数
1
解决办法
4039
查看次数

无头浏览器在自动化方面的差异

主要区别在于,在GUI基和非GUI基(Headless)上执行。

我正在寻找所有无头浏览器之间的差异,但是很遗憾,我没有找到任何差异。我一个接一个地讲,这使我更加困惑。如果有人可以分享具有差异的简短信息,那就太好了,这很清楚。

selenium headless headless-browser selenium-webdriver htmlunit-driver

0
推荐指数
1
解决办法
1318
查看次数