标签: chrome-profile

如何在 Selenium Webdriver Python 3 中使用 Chrome 配置文件

因此,每当我尝试使用 Chrome 设置(我在默认浏览器中使用的设置)时,添加

options = webdriver.ChromeOptions()
options.add_argument("user-data-dir=C:\Users\... (my webdriver path)")
driver = webdriver.Chrome(executable_path="myPath", options=options)
Run Code Online (Sandbox Code Playgroud)

它向我展示了错误代码

SyntaxError: (unicode error) 'unicodeescape' codec can't decode bytes n 16-17: truncated \UXXXXXXXX escape
Run Code Online (Sandbox Code Playgroud)

在我的 bash 中。我不知道这意味着什么,如果我能得到任何帮助,我会很高兴。提前致谢!

python selenium google-chrome selenium-chromedriver chrome-profile

12
推荐指数
4
解决办法
4万
查看次数

如何通过 Python 打开 Chrome 配置文件

我一直在写的剧本一直工作得很好。我刚刚添加了该选项,因此它将使用此代码在 chrome 上打开一个配置文件。

options = webdriver.ChromeOptions
browser = webdriver.Chrome(executable_path=r"C:\Users\princess\AppData\Local\Programs\Python\Python36-32\chromedriver.exe", chrome_options=options)
options.add_argument(r'user-data-dir=C:\Users\princess\AppData\Local\Google\Chrome\User Data')
options.add_argument('--profile-directory=Profile 1')
Run Code Online (Sandbox Code Playgroud)

使用时,我收到此错误代码。

C:\Users\Princess\Desktop>CHBO.py
Traceback (most recent call last):
  File "C:\Users\Princess\Desktop\CHBO.py", line 12, in <module>
    browser = webdriver.Chrome(executable_path=r"C:\Users\princess\AppData\Local\Programs\Python\Python36-32\chromedriver.exe", chrome_options=options)
  File "C:\Users\Princess\AppData\Local\Programs\Python\Python36-32\lib\site-packages\selenium\webdriver\chrome\webdriver.py", line 59, in __init__
    desired_capabilities = options.to_capabilities()
TypeError: to_capabilities() missing 1 required positional argument: 'self'
Run Code Online (Sandbox Code Playgroud)

我怎样才能解决这个问题?

python selenium google-chrome selenium-chromedriver chrome-profile

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

禁用“继续使用新的 Chrome 配置文件”弹出窗口

每次我登录新的 Gmail 帐户时,都会弹出一个窗口,询问我是否要创建新的 Chrome 配置文件,这有时会让人非常恼火。有办法禁用它吗?

chrome://flags/选项中有几个选项(新的配置文件选择器和登录的配置文件创建流程)我认为可以工作,但我不太确定,因为我不想在广泛使用它时弄乱 chrome 配置文件设置。

gmail google-chrome chrome-profile

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

InvalidArgumentException:消息:无效参数:使用 ChromeDriver Selenium 启动 Chrome 时,用户数据目录已在使用错误

我正在尝试使用默认用户使用 selenium python 库打开网页,脚本使用默认用户至关重要,但如果我的 chrome 浏览器已经打开脚本崩溃并给我这个错误:

selenium.common.exceptions.InvalidArgumentException: Message: invalid argument: user data directory is already in use, please specify a unique value for --user-data-dir argument, or don't use --user-data-dir
Run Code Online (Sandbox Code Playgroud)

我已经尝试了这里给出的所有解决方案:

如果打开另一个 chrome 实例,Selenium chromedriver 将不会启动 URL

Selenium 不会在新选项卡中打开新 URL(Python 和 Chrome)

并阅读旧版 chromedriver 版本中存在错误,但已在 chrome 74(我正在使用)中修复:https : //github.com/SeleniumHQ/docker-selenium/issues/741

from selenium import webdriver
import time
from getpass import getuser

def run():
    # Chrome driver path
    chromedriver = r'C:\Users\user1\Downloads\chromedriver_win32\chromedriver_new.exe'

    # Get chrome webdriver options and set open the browser as headless …
Run Code Online (Sandbox Code Playgroud)

python selenium google-chrome selenium-chromedriver chrome-profile

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

如何在 Chrome 分析/性能选项卡中阅读评估脚本时间

有人告诉我,我的脚本阻塞了客户站点上的主线程。

它被标记为<script async...>所以它不应该是一个网络块。

我运行了 Chrome 分析器,尽管在谷歌上搜索了解释,但我真的不明白我在看什么。

这是有问题的脚本的屏幕截图: 在此处输入图片说明

不明白整个蓝块的哪一部分是“线程阻塞部分”

这是关联的Bottom-Up表: 在此处输入图片说明

从第一张图像开始,“细线”从大约 500 毫秒到大约 900 毫秒,大约是 400 毫秒的时间,但在自下而上的表中,它表​​示“评估脚本”的总时间为 184.5 毫秒。

那么我可以假设脚本的“阻塞”时间应该取自自下而上的表,达到 184.5 毫秒?

javascript performance google-chrome google-chrome-devtools chrome-profile

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

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

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

options.addArguments("user-data-dir=C:\\Users\\user\\AppData\\Local\\Google\\Chrome\\User Data\\default");
Run Code Online (Sandbox Code Playgroud)

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

driver.quit();
Run Code Online (Sandbox Code Playgroud)

在此输入图像描述

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

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

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

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

        String extFilePath = "C:\\ChromeDriver\\Salesforce_inspector.crx";

        System.setProperty("webdriver.chrome.driver","C:\\chromedriver\\chromedriver.exe");
        ChromeOptions options = new ChromeOptions();
        options.addExtensions(new File(extFilePath));
        options.addArguments("--disable-notifications");
        options.addArguments("user-data-dir=C:\\Users\\user\\AppData\\Local\\Google\\Chrome\\User Data\\default");
        options.addArguments("--start-maximized");

        WebDriver driver = new ChromeDriver(options);


        try 
        { 
            driver.switchTo().alert(); 
            System.out.println("alert accepted"); 
        }   // try 
        catch (NoAlertPresentException Ex) 
        { 
            System.out.println("No alert");
        }           

        driver.get("salesforce url");
Run Code Online (Sandbox Code Playgroud)

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

java popup selenium-webdriver chrome-profile

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

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

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

Message: invalid argument: user data directory is already in use, please specify a unique value for --user-data-dir argument, or don't use --user-data-dir
Run Code Online (Sandbox Code Playgroud)

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

我的代码:

from selenium import webdriver
from selenium.webdriver.chrome.options import Options
import time

PATH = "C:\Program Files (x86)\chromedriver.exe"

options = webdriver.ChromeOptions() 
options.add_argument("user-data-dir=C:/Users/username/AppData/Local/Google/Chrome/User Data")
driver = webdriver.Chrome(executable_path=r'C:\Program Files (x86)\chromedriver.exe', chrome_options=options)
driver.get("https://disboard.org/sv/dashboard/servers")

link = driver.find_element_by_link_text("bump")
link.click()
Run Code Online (Sandbox Code Playgroud)

python selenium google-chrome selenium-chromedriver chrome-profile

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