Heim >Backend-Entwicklung >Python-Tutorial >Wie kann ich mehrere Registerkarten in Selenium WebDriver effizient öffnen, ohne mehrere Treiber zu erstellen?
Alternativer Ansatz zum Öffnen von Tabs in Selenium
In Ihrem Multiprozess-Python-Skript versuchen Sie, Websites auf neuen Tabs in Ihrem WebDriver zu öffnen, um dies zu verbessern Geschwindigkeit. Während die Verwendung von Selenium für Ihre Anforderungen unerlässlich ist, ist das Öffnen eines neuen WebDrivers für jede Website zeitaufwändig.
Anstatt phantomJS zu verwenden, dessen Ladezeit 3,5 Sekunden beträgt, sollten Sie in Betracht ziehen, einen WebDriver zu erstellen und mehrere Registerkarten für Ihre Tests zu verwalten . Dieser Ansatz wird die Effizienz erheblich verbessern.
Implementierung
Verwenden Sie den folgenden Selenium-Code, um das Verhalten beim Öffnen und Schließen von Tabs zu emulieren:
from selenium import webdriver from selenium.webdriver.common.keys import Keys # Create a single WebDriver driver = webdriver.Firefox() driver.get("http://www.google.com/") # Open a new tab and navigate to a URL driver.find_element_by_tag_name('body').send_keys(Keys.COMMAND + 't') # or Keys.CONTROL + 't' on other OSs driver.get('http://stackoverflow.com/') # Once done with the page, close the tab driver.find_element_by_tag_name('body').send_keys(Keys.COMMAND + 'w') # or Keys.CONTROL + 'w' on other OSs # Continue with your tests... # Close the WebDriver when all tests are complete driver.close()
Das obige ist der detaillierte Inhalt vonWie kann ich mehrere Registerkarten in Selenium WebDriver effizient öffnen, ohne mehrere Treiber zu erstellen?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!