Selen-Treiber.Url vs. Fahrer.Navigieren().GoToUrl()
Welche ist die bevorzugte Methode zum öffnen einer Url (und gibt es Unterschiede hinter den kulissen zwischen):
driver.Url = "http://example.com";
oder
driver.Navigate().GoToUrl("http://example.com");
Auch, wenn der Treiber bereits zeigen auf die gleiche Seite, wird die Url ein zweites mal führt die Seite zu aktualisieren?
d.h.
...
driver.Url = "http://example.com";
driver.Url = "http://example.com"; //does this reload the page?
...
FWIW ich bin mit den Chrome-Treiber chromedriver.exe aber es scheint nicht zu einer verwalteten assembly (ich habe versucht, es zu öffnen mit ILSpy aber kein Glück).
InformationsquelleAutor steve cook | 2014-09-11
Du musst angemeldet sein, um einen Kommentar abzugeben.
Selen ist ein open-source-framework, also bitte haben Sie einen Blick auf den source-code hier.
GoToUrl()
definiert ist, in RemoteNavigator.cs:Also im Grunde
driver.Navigate().GoToUrl();
setztdriver.Url
unter der Haube und ich sehe keinen Unterschied gibt.Jedoch
driver.Navigate().GoToUrl()
ist flexibler, erlaubt das senden von entwederstring
oderUri
als parameter-Typen, während nur die Zeichenfolge zulässig ist, wenn die Einstellung durchdriver.Url
.Zu Ihrer zweiten Frage, die den Quellcode zeigt, dass
driver.Navigate().Refresh()
fordert Browser zu aktualisieren, währenddriver.Url
sagt-Browser zu navigieren. Also diese beiden sind grundverschieden. Für weitere Einzelheiten sehen Sie bitte Unterschied zwischen Aktualisieren und Navigieren Funktion browser-control?Wenn Sie möchten, um die Seite zu aktualisieren, benutzen Sie bitte
driver.Navigate().Refresh();
Refresh()
definiert ist, in RemoteNavigator.cs:driver.Url
definiert ist, in RemoteWebDriver.cs:Ja, es hängt davon ab, wie definieren Sie die Wörter "neu laden" und "aktualisieren". 😉
InformationsquelleAutor Yi Zeng