définir google chrome options avec pilote distant
Donc, il y a une belle longue liste de commutateurs qui peut être transmis à la chromedriver.
Je voudrais utiliser certains d'entre eux, plus précisément --disable-logging
.
Je ne le souhaitent pas (seulement) utilisez chromedriver localement, cependant, je voudrais écrire tout mon code pour utiliser webdriver.Remote()
.
Voici le code que j'utilise pour l'installation de chrome pilote et il fonctionne très bien pour la vanille, chrome instance.
driver = webdriver.Remote(
command_executor = 'http://127.0.0.1:4444/wd/hub',
desired_capabilities = {
'browserName': 'chrome',
}
)
Cependant, je n'arrive pas à comprendre comment passer à des options supplémentaires.
Quand je regarde driver.capabilities
je vois la suite
{
u'rotatable': False,
u'browserConnectionEnabled': False,
u'acceptSslCerts': False,
u'cssSelectorsEnabled': True,
u'javascriptEnabled': True,
u'nativeEvents': True,
u'databaseEnabled': False,
u'chrome.chromedriverVersion': u'23.0.1240.0',
u'locationContextEnabled': False,
u'takesScreenshot': True,
u'platform': u'MAC',
u'browserName': u'chrome',
u'webdriver.remote.sessionid': u'1352096075502',
u'version': u'22.0.1229.94',
u'applicationCacheEnabled': False,
u'webStorageEnabled': True,
u'handlesAlerts': True,
u'chrome.nativeEvents': False
}
Je n'ai pas voir tous les autres arguments (en plus de desired_capabilities
) pour le passage d'arguments à chromedriver par webdriver.Remote
. Est-ce vrai? Ai-je raté quelque chose? Est-il une autre stratégie pour la personnalisation de chromedriver?
Il y a un bel exemple sur la CromeDrive page wiki qui montre "À partir de Chrome avec des indicateurs Spécifiques" cependant, tous les exemple sont pour webdriver.Chrome()
; l'exemple est en java, donc trop il pourrait même ne pas travailler en python.
Si quelqu'un a eu cela fonctionne ou peut me dire cela ne va pas de travail, je l'apprécierais. Merci.
Nouveau Problème
Je ne suis pas sûr de la meilleure façon de traiter des questions de suivi.
Donc, j'ai eu la réponse à ma question, mais j'ai encore de la difficulté à la désactivation de la journalisation. La caisse de la suite de l'enregistreur de ligne.
[0.455][INFO]: Launching chrome: /Applications/Google Chrome.app/Contents/MacOS/Google Chrome --enable-logging --log-level=1 --disable-hang-monitor --disable-prompt-on-repost --dom-automation --full-memory-crash-report --no-default-browser-check --no-first-run --disable-background-networking --disable-sync --disable-translate --disable-web-resources --safebrowsing-disable-auto-update --safebrowsing-disable-download-protection --disable-client-side-phishing-detection --disable-component-update --disable-default-apps --use-mock-keychain --ignore-certificate-errors --disable-logging about:blank
Je peux passer l'argument --disable-logging
à chromedriver, mais il semble à prendre en compte est le premier argument de l'activation de la journalisation. Je suppose que j'ai besoin de savoir où les arguments par défaut sont pour les nouvelles instances de Chrome sont conservés.
OriginalL'auteur Jachin | 2012-11-05
Vous devez vous connecter pour publier un commentaire.
Cela devrait vous donner les indicateurs disponibles:
Nathan Villaescusa -- oui, je vais ajouter un exemple pour illustrer. merci.
Il en résultera
desired_capabilities
être{"chromeOptions": {"args":['--disable-logging']}}
, qui est différente de ma réponse. Il va être intéressant de voir que l'on finit par travailler.Cela fonctionne (pour le passage des arguments supplémentaires), merci beaucoup. Je suis confronté à un nouveau problème.
Cela fonctionne à merveille pour moi, merci.
OriginalL'auteur root
À partir du code source, il semble que la seule façon dont il serait possible de passer à travers
desired_capabilities
. Ce dictionnaire est envoyé directement à l'supprimer le pilote via une requête POST.Après avoir regardé comment démarrer chrome avec des indicateurs spécifiques, peut-être quelque chose de ce genre:
webdriver.ChromeOptions()
plus si, semble un peu plus propre et plus explicite.Ouais, je serais probablement utiliser cette approche.
OriginalL'auteur Nathan Villaescusa
ChromeOptions() qui fonctionne pour passer des arguments supplémentaires. essayez ceci pour désactiver la chromedriver.journal
OriginalL'auteur TONy.W