2 votes

Comment faire en sorte que selenium n'attende pas le chargement de la page une seule fois ?

Ma question est très simple. J'utilise Selenium en Python.

La stratégie de chargement de page par défaut de Selenium consiste à attendre que la page soit complètement chargée. J'aime beaucoup cela, mais je veux faire en sorte que mon Selenium n'attende pas le chargement de la page juste une fois.

Je sais qu'il existe un moyen de faire en sorte que l'objet driver de selenium n'attende pas le chargement de la page, qu'il soit éternel et qu'il ait les capacités souhaitées.

capa = DesiredCapabilities.CHROME
capa["pageLoadStrategy"] = "none"
driver = webdriver.Chrome(desired_capabilities=capa)
driver.get(URL)

Mais je veux que mon chauffeur n'attende qu'une seule fois. Comment puis-je faire cela ? J'ai vu qu'il est impossible de modifier les capacités souhaitées.

Bien entendu, je dois utiliser le même objet pilote car je dois contrôler la fenêtre à partir du pilote.

0voto

Hùng Nguyễn Points 381

Je ne comprends pas ce que vous entendez par "n'attendez qu'une fois". Cependant, comme le pilote de Chrome ne prend toujours pas en charge pageLoadStrategy = eager pour que vous puissiez essayer driver.implicitly_wait . Il y a une explication supplémentaire ici Je n'entrerai donc pas dans les détails.

Question similaire

J'espère que cela vous aidera.

0voto

Robert Kearns Points 1468

Je comprends ce que vous voulez dire. Vous souhaitez modifier les attributs de votre pilote après qu'il ait démarré. Vous pouvez essayer ce code.

capa = DesiredCapabilities.CHROME
capa["pageLoadStrategy"] = "none"
driver = webdriver.Chrome(desired_capabilities=capa)
driver.get(URL)
driver.desired_capabilities.update({'pageLoadStrategy':'normal'})
driver.get(URL)

Lorsque j'imprime les attributs des classes, la stratégie de chargement change bel et bien en cours d'exécution. Cependant, je ne suis pas sûr que cela affecte réellement le comportement du navigateur, puisque les attributs du navigateur sont créés lors de l'initialisation du pilote.

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X