J'essaie de charger un navigateur chrome avec Selenium en utilisant mon compte existant et les paramètres de mon profil.
Je peux faire fonctionner cela en utilisant ChromeOptions pour définir le répertoire utilisateur et le profil. Cela charge le navigateur avec mon profil comme je le veux, mais le navigateur se bloque alors pendant 60 secondes et expire sans avancer dans l'automatisation.
Si je n'utilise pas le répertoire de données utilisateur et les paramètres de profil, cela fonctionne bien mais n'utilise pas mon profil.
La lecture que j'ai faite indique que je ne peux pas ouvrir plus d'un navigateur à la fois avec le même profil, alors je me suis assuré que rien n'était ouvert pendant que j'exécutais le programme. Il se bloque toujours pendant 60 secondes, même sans un autre navigateur ouvert.
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");
Il se bloque toujours sur le GoToUrl. Je ne sais pas quoi essayer d'autre.
Selon vos essais de code, vous essayiez de charger le Default Chrome Profile qui sera contre tous les best pratiques comme Default Chrome Profile peut contenir l'un des éléments suivants:
Par conséquent, le Par défaut Profil Chrome peut ne pas être conforme à vous Spécifications de test et peut soulever une exception pendant le chargement. Par conséquent, vous devez toujours utiliser un personnalisé Profil Chrome comme ci-dessous.
Pour créer et ouvrir un nouveau Profil Chrome, vous devez suivre les étapes suivantes:
chrome://settings/
s'ouvre.Obtenez le chemin absolu de profile-directory dans votre système comme suit:
C:\\Users\\Thranor\\AppData\\Local\\Google\\Chrome\\User Data\\Profile 2
Passez maintenant la valeur de profile-directory à travers une instance de ChromeOptions avec la méthode AddArgument
avec la clé ser-data-dir comme suit :
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");
Exécutez votre Test