我试图加载一个chrome浏览器与硒使用我现有的帐户和设置从我的个人资料。
我可以使用ChromeOptions来设置userdatadir和配置文件目录。这就像我想要的那样加载浏览器的配置文件,但是浏览器会挂起60秒并超时,而不会继续进行任何自动化操作。
如果我不使用用户数据目录和配置文件设置,它可以正常工作,但不使用我的配置文件。
我所做的阅读表明,不能用同一个配置文件同时打开多个浏览器,因此我确保在运行程序时没有打开任何浏览器。即使没有打开另一个浏览器,它仍然会挂起60秒。
m_Options = new ChromeOptions();
m_Options.AddArgument("--user-data-dir=C:/Users/Me/AppData/Local/Google/Chrome/User Data");
m_Options.AddArgument("--profile-directory=Default");
m_Options.AddArgument("--disable-extensions");
m_Driver = new ChromeDriver(@"pathtoexe", m_Options);
m_Driver.Navigate().GoToUrl("somesite");
它总是挂在GoToUrl上。我不知道还能尝试什么。
如果您想使用默认配置文件运行Chrome(因为您需要扩展),则需要使用其他浏览器(如Microsoft Edge或Microsoft IE)运行您的脚本,并且您的代码将包含一个Chrome实例。
我的PHP代码:
namespace Facebook\WebDriver;
use Facebook\WebDriver\Remote\DesiredCapabilities;
use Facebook\WebDriver\Remote\RemoteWebDriver;
use Facebook\WebDriver\Chrome\ChromeOptions;
require_once('vendor/autoload.php');
$host = 'http://localhost:4444/';
$options = new ChromeOptions();
$options->addArguments(array(
'--user-data-dir=C:\Users\paulo\AppData\Local\Google\Chrome\User Data',
'--profile-directory=Default',
'--user-agent=Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/87.0.4280.88 Safari/537.36'
));
$caps = DesiredCapabilities::chrome();
$caps->setCapability(ChromeOptions::CAPABILITY, $options);
$caps->setPlatform("Windows");
$driver = RemoteWebDriver::create($host, $caps);
$driver ->manage()->window()->maximize();
$driver->get('https://www.google.com/');
// your code goes here.
$driver->quit();
根据您的代码试用,您试图加载默认的Chrome配置文件,这将违反所有最佳实践,因为默认的Chrome配置文件可能包含以下任一项:
因此,默认的Chrome配置文件可能不符合您的测试规范,并且在加载时可能引发异常。因此,您应该始终使用自定义的Chrome配置文件,如下所示。
要创建和打开新的Chrome配置文件,您需要遵循以下步骤:
chrome://settings/
打开
>
获取系统中的配置文件目录的绝对路径,如下所示:
C:\\Users\\Thranor\\AppData\\Local\\Google\\Chrome\\User Data\\Profile 2
现在,使用AddArgument
方法将profile directory的值与关键用户数据dir一起传递给ChromeOptions实例,如下所示:
m_Options = new ChromeOptions();
m_Options.AddArgument("--user-data-dir=C:/Users/Me/AppData/Local/Google/Chrome/User Data/Profile 2");
m_Options.AddArgument("--disable-extensions");
m_Driver = new ChromeDriver(@"pathtoexe", m_Options);
m_Driver.Navigate().GoToUrl("somesite");
执行你的测试
我一直在写的脚本工作得很好。我刚刚添加了一个选项,这样它就可以使用这个代码在chrome上打开一个配置文件。 使用时,我得到这个错误代码。 我该怎么解决这个问题?
我想通过在selenium webdriver中按键盘键Ctrl打开chrome浏览器控制台。我可以使用Robot类来做这个动作,但我希望没有Robot类。我使用了Actions类和Keys类,使用的是sendKeys。但我无法打开浏览器控制台。 是chrome浏览器版本问题还是操作系统问题?为什么浏览器控制台没有使用Action类和Keys类打开?
问题内容: 我对编程和python语言非常陌生。 我知道如何在python中打开文件,但问题是如何将文件作为函数的参数打开? 例: 这是我写出代码的方式: 问题答案: 您可以轻松地传递文件对象。 然后在您的函数中,返回行列表 另一个技巧是,python文件对象实际上具有读取文件行的方法。像这样: 第二种方法,就像您的功能一样。您不必再次调用它。 更新 这里是您应该如何编写代码的方法: 第一种方
我想通过selenium webdriver 3.6.0启动Firefox浏览器,并更改浏览器的一些默认设置。具体来说,我希望Firefox在自动测试期间下载文件,而不提示是否保存文件,也不提示是否下载到默认目录以外的预定义目录,即downloads文件夹。 在google chrome上执行此操作的方法如下: 在创建新配置文件后,通过设置首选项,在Firefox上进行相关尝试,但没有成功。 我包
自首次报道以来已经6年了:https://github.com/SeleniumHQ/selenium/issues/854 从这里https://chromedriver.chromium.org/getting-started我尝试这个代码: 当它启动时,去吧chrome://version/ 请参阅: 配置文件路径C:\Users\USERCU~1\AppData\Local\Temp\sc
我之前做过,但现在无法通过selenium使用chrome。浏览器打开几秒钟后关闭,然后出现错误(大约5分钟后): 我使用以下代码运行浏览器(我一直使用): ChromeDrive目录位于PATH中。你可以在错误中看到的chrome和chrome驱动程序的版本。Python 3.7.0,硒==3.14.0。我的行为有什么问题? 顺便说一句,它可以与Firefox配合使用