Zapisy otwarte! Dołącz do kursu Selenium w Javie lub Selenium w C#. Tylko do 23.09.2021 do godz. 21:00. Zapisz się tutaj.

Selenium w C# 7. Źródło strony, url i tytuł

W tej lekcji pokażę Ci jak pobrać źródło strony, url i tytuł w Selenium.

 

Źródło strony, url i tytuł: linki i materiały

Właściwości pokazane w filmie

Właściwości, dzięki którym pobieramy omówione informacje o stronie to:

  • Url { get; set; } – zwraca adres url bieżącej strony; za pomocą tej właściwości możemy także zmienić adres url,
  • PageSource { get; } – pozwala na pobranie źródła strony,
  • Title { get; } – pozwala na pobranie tytułu strony.

Co to są właściwości?

Właściwość (z angielskiego property) konstrukcja pomiędzy zmienną, a metodą. Zapewnia dostęp do pól klasy, także tych prywatnych, tak jakby były publiczne.

Dobrą praktyką, jest by pola klasy były prywatne, czyli żeby nie była możliwa ich modyfikacja z zewnątrz tej klasy (hermetyzacja). Jeżeli chcemy, by była możliwa zmiana albo pobieranie wartości jakiejś zmiennej, powinniśmy ten dostęp zapewnić świadomie używając metod.

class PlanetarySystem
{
    private int numberOfPlanets;

    public int GetNumberOfPlanets()
    {
        return numberOfPlanets;
    }

    public void SetNumberOfPlanets(int number)
    {
        numberOfPlanets = number;
    }
}

Wtedy z innej klasy możemy użyć metod GetNumberOfPlanets oraz SetNumberOfPlanets na pobranie bądź zmianę wartości pola numberOfPlanets, do którego jednak nie mamy dostępu bezpośrednio. W ten sposób świadomie dajemy taki dostęp, jaki dać chcemy. Właściwości zastępują właśnie powyższą konstrukcję.

class PlanetarySystem
{
    private int numberOfPlanets;

    public int NumberOfPlanets { 
        get { return numberOfPlanets; }
        set { numberOfPlanets = value; }
    }
}

Słówka get i set to akcesory. Blok get mówi, co się ma stać, gdy chcemy pobrać wartość pola za pomocą właściwości, a set – gdy chcemy ją zmienić. W takim wypadku jak powyżej, możemy skorzystać ze skróconej wersji deklaracji właściwości. Dzieje się tak, dlatego, że w get i set nie mamy żadnych dodatkowych akcji poza zwykłym pobraniem i przypisaniem wartości.

class PlanetarySystem
{
    public int NumberOfPlanets { get; set; }
}

Zauważ, że nie ma tutaj już prywatnego pola. Jest ono tworzone przez kompilator niejawnie, ale to już Cię nie musi zajmować 🙂

Właściwość nie musi zawierać obu akcesorów, można np. dać dostęp jedynie do pobierania danej wartości, jednocześnie nie pozwalając na jej zmianę.

class PlanetarySystem
{
    public int NumberOfPlanets { get; }
}

Jeżeli chcesz zgłębić temat właściwości, to polecam ten artykuł na p-programowanie.pl.

HTML – materiały

Na razie powinno Ci wystarczyć to: HTML podstawy. Artykuł jest po polsku i pokazuje podstawowe znaczniki w HTML oraz krótko wyjaśnia czym są znaczniki.

Źródło strony, url i tytuł: klasa TitleUrlAndSource.cs

Poniżej znajdziesz kod, który pojawił się w lekcji.

Ukryta treść

Nie masz dostępu do tego kursu. Wykup dostęp albo zaloguj się, by móc zobaczyć pełną lekcję.

Dokumentacja Selenium: linki

Sygnatury wszystkich wyjaśnionych dzisiaj właściwości znajdują z w interfejsie IWebDriver. Interfejs ten jest zaimplementowany przez klasę RemoteWebDriver – jak wygląda ta klasa i omówione właściwości oraz co w szczególności dzieje się w blokach get i set przy pobieraniu lub zapisywaniu informacji, możesz podejrzeć tutaj.

Wsparcie merytoryczne

Nie masz dostępu do wsparcia merytorycznego dla tego kursu. Wykup dostęp albo zaloguj się, by móc zadawać pytania.