Selenium açık kaynak kodlu bir çerçevedir, bu nedenle lütfen kaynak koduna bir göz atın (here). Kaputun altındaki
/// <summary>
/// Navigate to a url for your test
/// </summary>
/// <param name="url">String of where you want the browser to go to</param>
public void GoToUrl(string url)
{
this.driver.Url = url;
}
/// <summary>
/// Navigate to a url for your test
/// </summary>
/// <param name="url">Uri object of where you want the browser to go to</param>
public void GoToUrl(Uri url)
{
if (url == null)
{
throw new ArgumentNullException("url", "URL cannot be null.");
}
this.driver.Url = url.ToString();
}
Yani temelde driver.Navigate().GoToUrl();
setleri driver.Url
ve orada bir fark göremiyorum:
GoToUrl()
RemoteNavigator.cs tanımlanmıştır.
Ancak driver.Navigate().GoToUrl()
driver.Url
ile ayarlanırken yalnızca dize izin verirken, parametre tipleri gibi string
veya Uri
ya da gönderen sağlayan, daha esnektir. driver.Url
gezinmek için tarayıcıları söyler ederken ikinci soru için
, kaynak kodu, driver.Navigate().Refresh()
yenilemek için tarayıcıları sorar göstermektedir. Yani bu ikisi temelde farklı.
/// <summary>
/// Refresh the browser
/// </summary>
public void Refresh()
{
// driver.SwitchTo().DefaultContent();
this.driver.InternalExecute(DriverCommand.Refresh, null);
}
driver.Url
RemoteWebDriver.cs tanımlanır::
public string Url
{
...
set
{
...
try
{
this.Execute(DriverCommand.Get, parameters);
}
...
}
}
Daha fazla ayrıntı için, sayfayı yenilemek istiyorsanız
Difference between Refresh and Navigate function in browser control?
, driver.Navigate().Refresh();
Refresh()
RemoteNavigator.cs tanımlanır kullanın lütfen bakınız
Sağladığınız kaynak koda baktığımda, seco'mın cevabı gibi görünüyor nd soru evet - kod her zaman Url değişmemiş olsa bile, sürücüyü sayfayı yeniden yüklemesini söyler. –
@steve: Evet, "yeniden yükle" ve "yenilen" sözcüklerini nasıl tanımladığınıza bağlı. ;) –