Selén

Úvod do selénu v Pythone 3

Úvod do selénu v Pythone 3
Selén je rámec používaný na testovanie webových aplikácií. Selenium automatizuje prehliadač, ako je Chrome alebo Firefox, na vykonávanie testov na požadovanom webe. Selén je tiež veľmi silný nástroj na zoškrabávanie webu. Selén podporuje JavaScript a všetky moderné funkcie prehľadávača. Tento nástroj je veľmi efektívny pri získavaní informácií z webových stránok.

Tento článok vám ukáže, ako nastaviť selén vo vašej distribúcii Linuxu (t.j.e., Ubuntu), ako aj to, ako vykonávať základnú webovú automatizáciu a zošrotovanie webu pomocou knižnice Selenium Python 3.

Predpoklady

Ak chcete vyskúšať príkazy a príklady použité v tomto článku, musíte mať:

1) Vo vašom počítači je nainštalovaná distribúcia Linuxu (najlepšie Ubuntu).
2) Vo vašom počítači je nainštalovaný Python 3.
3) Vo vašom počítači je nainštalovaný program PIP 3.
4) Vo vašom počítači je nainštalovaný webový prehliadač Google Chrome alebo Firefox.

Mnoho článkov o týchto témach nájdete na stránke LinuxHint.com. Ak potrebujete ďalšiu pomoc, nezabudnite si tieto články pozrieť.

Príprava virtuálneho prostredia Python 3 na projekt

Virtuálne prostredie Python sa používa na vytvorenie izolovaného adresára projektu Python. Moduly Pythonu, ktoré inštalujete pomocou programu PIP, sa nainštalujú iba do adresára projektu, a nie globálne.

Python virtualenv modul slúži na správu virtuálnych prostredí Pythonu.

Môžete si nainštalovať Python virtualenv modul globálne pomocou PIP 3, a to nasledovne:

$ sudo pip3 nainštalovať virtualenv

Program PIP3 stiahne a globálne nainštaluje všetky požadované moduly.

V tomto okamihu je to Python virtualenv modul by mal byť nainštalovaný globálne.

Vytvorte adresár projektu python-selenium-basic / vo vašom aktuálnom pracovnom adresári takto:

$ mkdir -pv python-selenium-basic / ovládače

Prejdite do novo vytvoreného adresára projektu python-selenium-basic /, nasledovne:

$ cd python-selenium-basic /

Vytvorte virtuálne prostredie Pythonu v adresári projektu pomocou nasledujúceho príkazu:

$ virtualenv .env

Virtuálne prostredie Python by sa teraz malo vytvoriť v adresári projektu.„

Aktivujte virtuálne prostredie Pythonu v adresári projektu pomocou nasledujúceho príkazu:

$ zdroj .env / bin / aktivovať

Ako vidíte, pre tento adresár projektu je aktivované virtuálne prostredie Python.

Inštalácia selénovej knižnice Python

Knižnica Selenium Python je k dispozícii v oficiálnom úložisku Python PyPI.

Túto knižnicu môžete nainštalovať pomocou programu PIP 3:

$ pip3 nainštalujte selén

Knižnica Selenium Python by mala byť teraz nainštalovaná.

Teraz, keď je nainštalovaná knižnica Selenium Python, je potrebné nainštalovať webový ovládač pre váš obľúbený webový prehliadač. V tomto článku vám ukážem, ako nainštalovať webové ovládače Firefoxu a Chrome pre selén.

Inštalácia ovládača Firefox Gecko

Ovládač Firefox Gecko umožňuje ovládať alebo automatizovať webový prehliadač Firefox pomocou selénu.

Ak si chcete stiahnuť ovládač Gecko pre Firefox, navštívte webovú stránku mozit / geckodriver s verziou GitHubu z webového prehliadača.

Ako vidíte, v0.26.0 je najnovšia verzia ovládača Firefox Gecko v čase, keď bol napísaný tento článok.

Ak chcete stiahnuť ovládač Gecko pre Firefox, posuňte sa trochu nadol a kliknite na tar geckodriver pre Linux.archív gz, v závislosti od architektúry operačného systému.

Ak používate 32-bitový operačný systém, kliknite na ikonu geckodriver-v0.26.0-linux32.decht.gz odkaz.

Ak používate 64-bitový operačný systém, kliknite na ikonu geckodriver-v0.26.0-linuxx64.decht.gz odkaz.

V mojom prípade si stiahnem 64-bitovú verziu ovládača Firefox Gecko.

Prehliadač by vás mal vyzvať na uloženie archívu. Vyberte Uloženie súboru a potom kliknite Ok.

Archív ovládačov Firefox Gecko by sa mal stiahnuť v ~ / Súbory na stiahnutie adresár.

Extrahujte geckodriver-v0.26.0-linux64.decht.gz archív z ~ / Súbory na stiahnutie adresár do vodiči / adresára projektu zadaním nasledujúceho príkazu:

$ tar -xzf ~ / Na stiahnutie / geckodriver-v0.26.0-linux64.decht.gz -C vodiči /

Po rozbalení archívu ovládača Firefox Gecko Driver je nový geckodriver binárny súbor by mal byť vytvorený v vodiči / adresára vášho projektu, ako vidíte na snímke obrazovky nižšie.

Testuje sa ovládač selenium Firefox Gecko

V tejto časti vám ukážem, ako nastaviť váš prvý skript selénu Python na testovanie funkčnosti ovládača Firefox Gecko.

Najskôr otvorte adresár projektu python-selenium-basic / s obľúbeným IDE alebo editorom. V tomto článku použijem Visual Studio Code.

Vytvorte nový skript v jazyku Python ex01.py, a zadajte nasledujúce riadky do skriptu.

z webového ovládača na selén na import
zo selénu.webdriver.bežné.kľúče na import kľúčov
od času import spánku
prehliadač = webdriver.Firefox (executable_path = "./ drivers / geckodriver ")
prehliadač.get ('http: // www.google.com ')
spánok (5)
prehliadač.skončiť ()

Po dokončení uložte súbor ex01.py Skript v jazyku Python.

Kód vysvetlím v ďalšej časti tohto článku.

Nasledujúci riadok konfiguruje selén na použitie ovládača Gecko pre Firefox z vodiči / adresár vášho projektu.

Ak chcete vyskúšať, či ovládač Firefox Gecko pracuje so selénom, spustite nasledujúci postup ex01.py Skript v jazyku Python:

$ python3 ex01.py

Webový prehliadač Firefox by mal automaticky navštevovať stránky Google.com a po 5 sekundách sa uzavrie. Ak k tomu dôjde, potom ovládač selenium Firefox Gecko pracuje správne.

Inštaluje sa webový ovládač Chrome

Ovládač Chrome Web Driver umožňuje ovládať alebo automatizovať webový prehliadač Google Chrome pomocou selénu.

Musíte si stiahnuť rovnakú verziu webového ovládača Chrome ako webový prehliadač Google Chrome.

Číslo verzie webového prehliadača Google Chrome nájdete v prehliadači Google Chrome na adrese chrome: // settings / help. Číslo verzie by malo byť v Informácie o prehliadači Chrome ako vidíte na snímke obrazovky nižšie.

V mojom prípade je číslo verzie 83.0.4103.116. Prvé tri časti čísla verzie (83.0.4103, v mojom prípade) sa musí zhodovať s prvými tromi časťami čísla verzie webového ovládača Chrome.

Ak chcete stiahnuť webový ovládač Chrome, navštívte oficiálnu stránku na stiahnutie ovládača Chrome.

V Aktuálne verzie sekcii bude k dispozícii webový ovládač Chrome pre najaktuálnejšie vydania webového prehliadača Google Chrome, ako vidíte na snímke obrazovky nižšie.

Ak verzia prehliadača Google Chrome, ktorú používate, nie je v priečinku Aktuálne verzie sekcii, posuňte sa trochu nadol a mali by ste nájsť požadovanú verziu.

Akonáhle kliknete na správnu verziu webového ovládača Chrome, dostanete sa na nasledujúcu stránku. Klikni na chromedriver_linux64.PSČ odkaz, ako je uvedené na snímke obrazovky nižšie.

Archív webového ovládača Chrome by sa teraz mal stiahnuť.

Archív webového ovládača Chrome by sa teraz mal stiahnuť v priečinku ~ / Súbory na stiahnutie adresár.

Môžete extrahovať chromedriver-linux64.PSČ archív z ~ / Súbory na stiahnutie adresár do vodiči / adresára projektu pomocou nasledujúceho príkazu:

$ unzip ~ / Downloads / chromedriver_linux64.ovládače zip -d /

Po rozbalení archívu webového ovládača Chrome je nový chromedriver binárny súbor by mal byť vytvorený v vodiči / adresára vášho projektu, ako vidíte na snímke obrazovky nižšie.

Testuje sa Selenium Chrome Web Driver

V tejto časti vám ukážem, ako nastaviť váš prvý skript selénu Python na testovanie funkčnosti webového ovládača Chrome.

Najskôr vytvorte nový skript v jazyku Python ex02.py, a zadajte nasledujúce riadky kódov do skriptu.

z webového ovládača na selén na import
zo selénu.webdriver.bežné.kľúče na import kľúčov
od času import spánku
prehliadač = webdriver.Chrome (executable_path = "./ drivers / chromedriver ")
prehliadač.get ('http: // www.google.com ')
spánok (5)
prehliadač.skončiť ()

Po dokončení uložte súbor ex02.py Skript v jazyku Python.

Kód vysvetlím v ďalšej časti tohto článku.

Nasledujúci riadok konfiguruje selén na použitie webového ovládača Chrome z vodiči / adresár vášho projektu.

Ak chcete vyskúšať, či webový ovládač Chrome pracuje so selénom, spustite príkaz ex02.py Skript v jazyku Python:

$ python3 ex01.py

Webový prehliadač Google Chrome by mal automaticky navštevovať stránky Google.com a po 5 sekundách sa uzavrie. Ak k tomu dôjde, potom ovládač selenium Firefox Gecko pracuje správne.

Základy scrapingu webu so selénom

Odteraz budem používať webový prehliadač Firefox. Môžete tiež použiť prehliadač Chrome.

Základný selénový skript v jazyku Python by mal vyzerať ako skript zobrazený na obrázku nižšie.

Najskôr importujte selén webdriver z selén modul.

Ďalej importujte Kľúče od selén.webdriver.bežné.kľúče. To vám pomôže zo selénu odoslať stlačenie klávesovej skratky do prehľadávača, ktorý automatizujete.

Nasledujúci riadok vytvára a prehliadač objekt pre webový prehliadač Firefox pomocou ovládača Firefox Gecko (Webdriver). Pomocou tohto objektu môžete ovládať akcie prehľadávača Firefox.

Na načítanie webovej stránky alebo adresy URL (budem načítať webovú stránku https: // www.duckduckgo.com), zavolajte na dostať () metóda prehliadač objekt vo svojom prehliadači Firefox.

Pomocou selénu môžete písať svoje testy, vykonávať scraping s webom a nakoniec zavrieť prehliadač pomocou skončiť () metóda prehliadač objekt.

Vyššie je uvedené základné rozloženie skriptu selénu Python. Tieto riadky budete písať do všetkých svojich skriptov Selenium Python.

Príklad 1: Tlač názvu webovej stránky

Toto bude najjednoduchší príklad diskutovaný pomocou selénu. V tomto príklade vytlačíme názov webovej stránky, ktorú navštívime.

Vytvorte nový súbor ex04.py a zadajte do neho nasledujúce riadky kódov.

z webového ovládača na selén na import
zo selénu.webdriver.bežné.kľúče na import kľúčov
prehliadač = webdriver.Firefox (executable_path = "./ drivers / geckodriver ")
prehliadač.get ('https: // www.duckduckgo.com ')
print ("Názov:% s"% prehliadač.názov)
prehliadač.skončiť ()

Po dokončení súbor uložte.

Tu je prehliadač.titul sa používa na prístup k názvu navštívenej webovej stránky a print () funkcia sa použije na tlač titulu v konzole.

Po spustení ex04.py skript by mal:

1) Otvorte Firefox
2) Vložte požadovanú webovú stránku
3) Načítajte názov stránky
4) Vytlačte názov na konzolu
5) A nakoniec zavrite prehliadač

Ako vidíte, ex04.py skript pekne vytlačil nadpis webovej stránky v konzole.

$ python3 ex04.py

Príklad 2: Tlač nadpisov viacerých webových stránok

Rovnako ako v predchádzajúcom príklade môžete použiť rovnakú metódu na vytlačenie názvu viacerých webových stránok pomocou slučky Python.

Aby ste pochopili, ako to funguje, vytvorte nový skript v jazyku Python ex05.py a do skriptu zadajte nasledujúce riadky kódu:

z webového ovládača na selén na import
zo selénu.webdriver.bežné.kľúče na import kľúčov
prehliadač = webdriver.Firefox (executable_path = "./ drivers / geckodriver ")
adresy URL = ['https: // www.duckduckgo.com ',' https: // linuxhint.com ',' https: // yahoo.com ']
pre adresu URL v adresách URL:
prehliadač.získať (URL)
print ("Názov:% s"% prehliadač.názov)
prehliadač.skončiť ()

Po dokončení uložte skript v jazyku Python ex05.py.

Tu je adresy URL zoznam zachováva adresu URL každej webovej stránky.

A pre slučka sa používa na iteráciu cez adresy URL zoznam položiek.

Pri každej iterácii selén informuje prehliadač, aby navštívil url a získate názov webovej stránky. Keď selén extrahuje názov webovej stránky, vytlačí sa to v konzole.

Spustite skript v jazyku Python ex05.py, a mali by ste vidieť názov každej webovej stránky v priečinku adresy URL zoznam.

$ python3 ex05.py

Toto je príklad toho, ako môže selén vykonávať rovnakú úlohu s viacerými webovými stránkami alebo webovými stránkami.

Príklad 3: Extrakcia údajov z webovej stránky

V tomto príklade vám ukážem základy extrakcie údajov z webových stránok pomocou selénu. Toto je tiež známe ako web scraping.

Najskôr navštívte stránku Random.org odkaz z Firefoxu. Táto stránka by mala generovať náhodný reťazec, ako vidíte na snímke obrazovky nižšie.

Ak chcete extrahovať údaje náhodného reťazca pomocou selénu, musíte poznať aj HTML reprezentáciu údajov.

Ak chcete vidieť, ako sú údaje náhodných reťazcov reprezentované v HTML, vyberte údaje náhodných reťazcov a stlačte pravé tlačidlo myši (RMB) a kliknite na Skontrolujte prvok (Q), ako je uvedené na snímke obrazovky nižšie.

HTML reprezentácia údajov by mala byť zobrazená v Inšpektor kartu, ako vidíte na snímke obrazovky nižšie.

Môžete tiež kliknúť na ikonu Skontrolujte ikonu ( ) skontrolovať údaje zo stránky.

Kliknite na ikonu kontroly () a umiestnite kurzor myši na údaje náhodného reťazca, ktoré chcete extrahovať. HTML reprezentácia dát by sa mala zobraziť tak, ako predtým.

Ako vidíte, údaje náhodného reťazca sú zabalené do kódu HTML pre tag a obsahuje triedu údaje.

Teraz, keď poznáme HTML reprezentáciu údajov, ktoré chceme extrahovať, vytvoríme skript v jazyku Python na extrahovanie údajov pomocou selénu.

Vytvorte nový skript v jazyku Python ex06.py a zadajte nasledujúce riadky kódov do skriptu

z webového ovládača na selén na import
zo selénu.webdriver.bežné.kľúče na import kľúčov
prehliadač = webdriver.Firefox (executable_path = "./ drivers / geckodriver ")
prehliadač.get ("https: // www.náhodný.org / struny /?num = 1 & len = 20 & číslic
= on & upperalpha = on & loweralpha = on & unique = on & format = html & rnd = new ")
dataElement = prehliadač.find_element_by_css_selector ('pred.údaje ')
print (dataElement.text)
prehliadač.skončiť ()

Po dokončení uložte súbor ex06.py Skript v jazyku Python.

Tu je prehliadač.dostať () metóda načíta webovú stránku v prehliadači Firefox.

The prehliadač.find_element_by_css_selector () metóda vyhľadá v HTML kóde stránky konkrétny prvok a vráti ho.

V takom prípade by to bol prvok pre.údaje, the pre značka, ktorá má názov triedy údaje.

Nižšie je uvedený pre.údaje prvok bol uložený v priečinku dataElement premenná.

Skript potom vytlačí textový obsah vybratej položky pre.údaje element.

Ak spustíte ex06.py Skript v jazyku Python, ktorý by mal extrahovať údaje z náhodného reťazca z webovej stránky, ako vidíte na snímke obrazovky nižšie.

$ python3 ex06.py

Ako vidíte, zakaždým, keď spustím ex06.py Skript v jazyku Python, extrahuje z webovej stránky iné údaje náhodného reťazca.

Príklad 4: Extrakcia zoznamu údajov z webovej stránky

Predchádzajúci príklad vám ukázal, ako extrahovať jeden dátový prvok z webovej stránky pomocou selénu. V tomto príklade vám ukážem, ako pomocou selénu extrahovať zoznam údajov z webovej stránky.

Najskôr navštívte generátor náhodných mien.informácie z webového prehliadača Firefox. Táto webová stránka vygeneruje pri každom opätovnom načítaní stránky desať náhodných mien, ako vidíte na snímke obrazovky nižšie. Naším cieľom je extrahovať tieto náhodné mená pomocou selénu.

Ak si podrobnejšie prezriete zoznam mien, uvidíte, že ide o usporiadaný zoznam (ol značka). The ol Značka obsahuje aj názov triedy zoznam mien. Každé z náhodných mien je reprezentovaných ako položka zoznamu (li značka) vo vnútri ol značka.

Ak chcete extrahovať tieto náhodné mená, vytvorte nový skript v jazyku Python ex07.py a zadajte nasledujúce riadky kódov do skriptu.

z webového ovládača na selén na import
zo selénu.webdriver.bežné.kľúče na import kľúčov
prehliadač = webdriver.Firefox (executable_path = "./ drivers / geckodriver ")
prehliadač.get ("http: // generátor náhodných mien.Info/")
nameList = prehliadač.find_elements_by_css_selector ('ol.nameList li ')
pre meno v nameList:
tlač (meno.text)
prehliadač.skončiť ()

Po dokončení uložte súbor ex07.py Skript v jazyku Python.

Tu je prehliadač.dostať () metóda načíta webovú stránku generátora náhodných mien v prehliadači Firefox.

The prehliadač.find_elements_by_css_selector () metóda používa selektor CSS ol.nameList li nájsť všetky li prvky vo vnútri ol značka s názvom triedy zoznam mien. Všetky vybrané mám uložené li prvky v zoznam mien premenná.

A pre slučka sa používa na iteráciu cez zoznam mien zoznam li prvkov. V každej iterácii obsah li prvok je vytlačený na konzole.

Ak spustíte ex07.py Skript v jazyku Python, načíta všetky náhodné mená z webovej stránky a vytlačí ich na obrazovku, ako vidíte na snímke obrazovky nižšie.

$ python3 ex07.py

Ak skript spustíte druhýkrát, mal by vrátiť nový zoznam náhodných mien používateľov, ako vidíte na snímke obrazovky nižšie.

Príklad 5: Odoslanie formulára - vyhľadávanie na DuckDuckGo

Tento príklad je rovnako jednoduchý ako prvý príklad. V tomto príklade navštívim vyhľadávací modul DuckDuckGo a vyhľadám výraz selén hq pomocou selénu.

Najskôr navštívte vyhľadávací modul DuckDuckGo z webového prehliadača Firefox.

Ak skontrolujete vstupné pole vyhľadávania, malo by mať ID search_form_input_homepage, ako vidíte na snímke obrazovky nižšie.

Teraz vytvorte nový skript v jazyku Python ex08.py a zadajte nasledujúce riadky kódov do skriptu.

z webového ovládača na selén na import
zo selénu.webdriver.bežné.kľúče na import kľúčov
prehliadač = webdriver.Firefox (executable_path = "./ drivers / geckodriver ")
prehliadač.get ("https: // duckduckgo.com / ")
searchInput = prehliadač.find_element_by_id ('search_form_input_homepage')
searchInput.send_keys ('selenium hq' + kľúče.ENTER)

Po dokončení uložte súbor ex08.py Skript v jazyku Python.

Tu je prehliadač.dostať () metóda načíta domovskú stránku vyhľadávacieho nástroja DuckDuckGo vo webovom prehliadači Firefox.

The prehliadač.find_element_by_id () metóda vyberie vstupný prvok s id search_form_input_homepage a uloží ho do searchInput premenná.

The searchInput.send_keys () metóda sa používa na odoslanie údajov o stlačení klávesu do vstupného poľa. V tomto príklade odošle reťazec selén hq, a kláves Enter sa stlačí pomocou Kľúče.VSTÚPTE konštantný.

Hneď ako vyhľadávací modul DuckDuckGo prijme kláves Enter, stlačte (Kľúče.VSTÚPTE), vyhľadá a zobrazí výsledok.

Spustiť ex08.py Skript v jazyku Python:

$ python3 ex08.py

Ako vidíte, webový prehliadač Firefox navštívil vyhľadávací modul DuckDuckGo.

Automaticky sa písalo selén hq do vyhľadávacieho textového poľa.

Hneď ako prehliadač prijme kláves Enter, stlačte (Kľúče.VSTÚPTE), zobrazil sa výsledok hľadania.

Príklad 6: Odoslanie formulára na W3Schools.com

V príklade 5 bolo zadanie formulára vyhľadávacieho nástroja DuckDuckGo jednoduché. Stačilo stlačiť kláves Enter. To však nebude platiť pre všetky podania formulárov. V tomto príklade vám ukážem zložitejšie spracovanie formulárov.

Najskôr navštívte stránku Formuláre HTML W3Schools.sk z webového prehliadača Firefox. Po načítaní stránky by sa mal zobraziť vzorový formulár. Toto je formulár, ktorý zadáme v tomto príklade.

Ak skontrolujete formulár, Krstné meno vstupné pole by malo mať id fname, the Priezvisko vstupné pole by malo mať id meno, a Tlačidlo Odoslať by mal mať typu Predložiť, ako vidíte na snímke obrazovky nižšie.

Ak chcete tento formulár odoslať pomocou selénu, vytvorte nový skript v jazyku Python ex09.py a zadajte nasledujúce riadky kódov do skriptu.

z webového ovládača na selén na import
zo selénu.webdriver.bežné.kľúče na import kľúčov
prehliadač = webdriver.Firefox (executable_path = "./ drivers / geckodriver ")
prehliadač.get ("https: // www.w3schools.sk / html / html_forms.asp ")
fname = prehliadač.find_element_by_id ('fname')
fname.jasný()
fname.send_keys ('Shahriar')
lname = prehliadač.find_element_by_id ('lname')
meno.jasný()
meno.send_keys ('Shovon')
submitButton = prehliadač.find_element_by_css_selector ('input [type = "submit"]')
odoslaťButton.send_keys (Klávesy.ENTER)

Po dokončení uložte súbor ex09.py Skript v jazyku Python.

Tu je prehliadač.dostať () metóda otvára stránku formulárov HTML W3schools vo webovom prehliadači Firefox.

The prehliadač.find_element_by_id () metóda vyhľadá vstupné polia podľa id fname a meno a ukladá ich do priečinka fname a meno premenné, resp.

The fname.jasný() a meno.jasný() metódy vymažú predvolené meno (Ján) fname hodnota a priezvisko (srnka) meno hodnota zo vstupných polí.

The fname.send_keys () a meno.send_keys () metódy typu Shahriar a Šovon v Krstné meno a Priezvisko vstupné polia, resp.

The prehliadač.find_element_by_css_selector () metóda vyberá Tlačidlo Odoslať formulára a uloží ho do odoslaťButton premenná.

The odoslaťButton.send_keys () metóda odošle kláves Enter (Kľúče.VSTÚPTE) do Tlačidlo Odoslať formulára. Táto akcia odošle formulár.

Spustiť ex09.py Skript v jazyku Python:

$ python3 ex09.py

Ako vidíte, formulár bol automaticky odoslaný so správnymi vstupmi.

Záver

Tento článok by vám mal pomôcť začať s testovaním selénových prehľadávačov, automatizáciou webu a šrotovacími knižnicami v Pythone 3. Ďalšie informácie nájdete v oficiálnej dokumentácii selénu Python.

Hry Najlepšie aplikácie na mapovanie gamepadu pre Linux
Najlepšie aplikácie na mapovanie gamepadu pre Linux
Ak radi hráte hry v systéme Linux s gamepadom namiesto typického systému vstupu pre klávesnicu a myš, máte tu niekoľko užitočných aplikácií. Mnoho hie...
Hry Užitočné nástroje pre hráčov systému Linux
Užitočné nástroje pre hráčov systému Linux
Ak radi hráte hry v systéme Linux, je pravdepodobné, že ste na vylepšenie herného zážitku použili aplikácie a pomôcky ako Wine, Lutris a OBS Studio. O...
Hry HD remasterované hry pre Linux, ktoré nikdy predtým nemali vydanie Linuxu
HD remasterované hry pre Linux, ktoré nikdy predtým nemali vydanie Linuxu
Mnoho vývojárov a vydavateľov hier prichádza s remastrom starých hier v rozlíšení HD, aby predĺžili životnosť franšízy. Prosím fanúšikov, ktorí požadu...