问题标签 [chrome-profile]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
4277 浏览

java - 禁用弹出“恢复页面?Chrome 未正确关闭”。在 selenium webdriver Java 中

虽然我已经看到了一些相关的问题,但我再次提出这个问题,因为我仍然面临这个问题。我有一个网站在第一次登录时要求输入登录验证码,然后在进一步的登录实例中不再询问。如果我不使用自定义浏览器配置文件,则每次 selenium 运行登录时网站都会询问验证码。因此我使用了如下的自定义浏览器配置文件(这不是问题

然后,测试完成后,我退出浏览器使用

在此处输入图像描述

问题是,下次我再次运行测试时,chrome 浏览器会打开并弹出“恢复页面?Chrome 没有正确关闭”。并且网站在登录后再次要求验证码。输入验证码不是我的脚本的一部分,所以脚本失败了。然后我通过单击右上角的 X 手动关闭浏览器。然后我再次运行测试,chrome浏览器打开正常,没有弹窗,网站不要求验证码,登录成功。然后,脚本通过 driver.quit() 关闭浏览器本身。然后我再次运行测试,chrome浏览器打开并弹出窗口,测试再次失败。这表明 driver.quit() 没有正确关闭浏览器。我已经尝试了几种设置,但仍然弹出窗口。

  1. 首选项文件-> "exit_type":"none"(以及“正常”)和exit cleanly = true
  2. 站点设置 -> 弹出窗口和重定向 -> 已阻止(推荐)
  3. 我也试过检查警报是否存在,但它说“没有警报”。脚本不会将弹出窗口检测为警报。

在上一次测试运行中 driver.quit() 关闭浏览器后,如何确保每次正常打开浏览器?请帮忙。

下面是我的代码:我使用 chrome 扩展,所以我也不能禁用扩展。

我不想使用隐身模式,因为我需要保留cookie和密码以防止前面提到的登录验证码问题。

0 投票
1 回答
2239 浏览

python - 如何使用 Selenium 和 Python 通过 Headless Chrome 使用 Chrome 配置文件

有我的代码。我想将其更改为无头浏览器。但我收到一个错误。

我添加了屏幕截图以显示错误。

-- 错误截图 --

0 投票
1 回答
3277 浏览

c# - 如何使用 ChromeDriver 版本 83.0.4103.39 和 Selenium 使用 user-data-dir 标志启动 Chrome 无头

代码

错误:

OpenQA.Selenium.WebDriverException:'对 URL http://localhost:64225/session 的远程 WebDriver 服务器的 HTTP 请求在 60 秒后超时。

我也试过

控制台输出

0 投票
1 回答
264 浏览

python - 未知错误:Chrome 无法启动:通过 Selenium 和 Python 使用带有无头 chrome 的 user-data-dir 参数退出异常错误

我在一个抓取项目中,当然我正在尝试获取一个页面。

这是我用来打开页面的代码:

我的问题

问题是当它到达时它什么也不做,driver.get()我的意思是它既不结束进程也不打印"starting wait"。(问题在我的笔记本电脑和服务器上仍然存在)我尝试删除该--headless选项,它在我的笔记本电脑(Ubuntu 20.04)上运行良好,但是当我将它上传到我的服务器并在那里运行时(Ubuntu Server 18.04)它镀铬崩溃(下面的异常消息)

消息:未知错误:Chrome 无法启动:异常退出。(未知错误:DevToolsActivePort 文件不存在)(从 chrome 位置 /usr/bin/google-chrome 启动的进程不再运行,因此 ChromeDriver 假设 Chrome 已崩溃。)

所以我得出的结论是我必须使用--headless选项,因为我的服务器上没有 GUI,并且当它不存在时 chrome 崩溃。

总之,我需要帮助来解决无限等待的问题driver.get()

PS:我可以毫无问题地运行下面的代码,这对我来说很奇怪:

0 投票
1 回答
281 浏览

c# - 我正在尝试将我的 chrome 配置文件与 webdriver 一起使用,但它说它已经附加

您可以在下面看到我正在使用的代码,以将另一个配置文件与 webdriver 一起使用。我需要知道这是如何完成的,因为我希望能够将我当前的 chrome 配置文件加载到 webdriver

运行时出错:

0 投票
0 回答
434 浏览

selenium - 如何在后续的无头 Selenium 运行之间保存 Instagram 登录

tl;Selenium 脚本的 dr chrome 配置文件每次都在非无头模式下工作,但(有时)在无头模式下失败。

我有一个每隔一小时运行一次的 Selenium python 脚本,需要我登录 Instagram。因为我在 Heroku 上部署它(如果 insta 检测到异常登录,我会强制我经常更改密码),我的脚本使用无头 Chrome 浏览器登录一次(从登录屏幕到 insta feed 屏幕)第一次运行,创建一个 chrome 配置文件,然后为我的后续脚本会话运行使用相同的 chrome 配置文件(带有保存的 cookie 等),以消除每次登录的需要。如果它检测到我尚未作为后备登录,它还会在以后的运行中重新登录我。

当我在 MacOS 上本地运行脚本时,我的脚本始终有效headless=False- 第一次运行始终正确登录并创建 chrome 配置文件,该配置文件成功用于在下一次运行中直接进入我的 insta 提要。但是,当我使用 本地(或在 Heroku 中)运行它时headless=True,配置文件有时不会保存我的登录信息(然后我最终需要在下次运行时重新登录)。以下是我传递给我的网络驱动程序的选项:

如果需要,我正在尝试使用该user-data-dir选项创建配置文件(请注意,/chrome_profile_1 在第一次运行之前在 repo 中不存在),如果它已经存在,则检索它。

我已经验证,在我的所有运行中,驱动程序最终都会到达 insta 提要视图,因此我的登录逻辑没有问题。即使在登录没有正确保存的时候,脚本仍然总是成功地创建 chrome_profile 目录。我尝试将我的 chrome_profile_1 直接推送到我的 Heroku 实例,但它也不起作用(我认为 Heroku-buildpack-google-chrome 与我的本地 chrome 实例生成的配置文件不兼容)。

除了最后,我还尝试添加driver.close()一些额外的时间,driver.quit()以防 chrome 无头浏览器的不当关闭可能是无头与非无头运行的区别,但这似乎并不能解决问题。另外,我尝试添加诸如--profile-directory=, 'disable-dev-shm-usage', --hide-scrollbars, --single-process, --ignore-certificate-errors.

PS:在相关说明中,Heroku 似乎在两次运行之间丢弃了创建的 chrome 配置文件目录(https://help.heroku.com/K1PPS2WM/why-are-my-file-uploads-missing-deleted) - 一旦我弄清楚如何正确创建 chrome 配置文件,有没有办法在 Heroku 实例本身的运行之间保存它,或者我必须将它存储在外部,然后在下次运行时将其拉入 Heroku?

0 投票
0 回答
157 浏览

python-3.x - 如何在 selenium python 中使用特定的 Chrome 配置文件

请不要将此标记为重复首先正确阅读我的问题..

这是我的代码:

这是我得到的错误:

我尝试了这里给出的解决方案: InvalidArgumentException: Message: invalid argument: user data directory is already in use error using --user-data-dir to start Chrome using Selenium

问题是默认和配置文件 1 位于同一目录中的用户数据(创建新配置文件并不能解决上述答案中提到的问题)..所以如果我使用另一个带有“默认”的 chrome 选项卡运行此脚本在后台运行的配置文件出现此错误..如何确保此错误消失(在运行此脚本时,我无法使用默认配置文件关闭其他 chrome 选项卡)

0 投票
3 回答
1448 浏览

python - Python Selenium Chrome“用户数据目录已在使用中”

我正在尝试使用 selenium 在 python 中创建一个脚本,该脚本将打开一个网站并单击一个按钮。问题是我必须先关闭 chrome,然后才能运行脚本,否则我会收到此错误:

有没有办法解决这个问题,所以我不必在每次运行脚本之前关闭 chrome?

我的代码:

0 投票
0 回答
311 浏览

selenium - 解压后的 Chrome 扩展程序未显示在 Chrome 配置文件的 Extensions 文件夹中

我解压并加载了 Chrome 的扩展程序https://github.com/iamadamdev/bypass-paywalls-chrome,但我需要在 Chrome 配置文件路径 /Users//Library/Application Support 的 Extensions 文件夹中找到其对应的文件夹/Google/Chrome/Default/Extensions/ 我在那里找不到。

我的 Chrome 扩展程序的其余部分都在那里,但它们是直接从 Chrome 网上应用店安装的,而这个是用开发者模式解压的,所以我想知道这是否是问题所在?如果是这样,或者是由于其他原因,有没有办法解决这个问题?我需要为我的基于 Selenium 的项目找到它,其中 WebDriver 打开带有预加载扩展的 Chrome 浏览器,遵循https://seleniumjava.com/2016/05/22/start-the-chrome-browser-with-扩展/

0 投票
2 回答
2558 浏览

python - Selenium 不使用默认 Chrome 配置文件

Selenium 不会加载我的默认 Chrome 配置文件,我不知道为什么。我已经尝试过配置文件 1 和默认配置文件,但出现相同的错误(如下)。我已通过任务管理器确认所有 Chrome 窗口在运行此代码之前都已关闭。有什么想法吗?

在此处输入图像描述

在此处输入图像描述

在此处输入图像描述

[1]:https://i.stack.imgur.com/qf1Rr.png

在此处输入图像描述

在此处输入图像描述

在此处输入图像描述