Селен

Покретање селена без главе са Цхроме-ом

Покретање селена без главе са Цхроме-ом
Ако желите да извршите Селениум веб аутоматизацију или уклањање веб страница са Цхроме веб прегледачем, он подразумевано покреће графичку верзију Цхроме веб прегледача. Није проблем када скрипту Селениум покрећете из Линук графичког окружења радне површине (тј.е., ГНОМЕ 3, КДЕ, КСФЦЕ4). Али ако желите да покренете своју скрипту Селениум у безглавом окружењу (тј.е., Убунту Сервер, ЦентОС / РХЕЛ Сервер) где немате инсталирано графичко окружење радне површине, ово неће функционисати.

Срећом, можете да конфигуришете Селениум да покреће Цхроме веб прегледач у режиму без главе. У овом режиму ће Цхроме веб прегледач радити без икаквог графичког корисничког интерфејса. Дакле, Селениум може да ради на аутоматизацији веба, уклањању веба, тестовима прегледача итд. помоћу Цхроме веб прегледача на Линук серверима где нема инсталирано графичко окружење радне површине.

У овом чланку ћу вам показати како да покренете Селениум са Цхроме веб прегледачем у режиму без главе. Користићу библиотеку Селениум Питхон и писаћу селениум скрипте користећи програмски језик Питхон 3. Па, кренимо.

Предуслови:

Да бисте испробали наредбе и примере из овог чланка, морате их имати,

1) Линук дистрибуција (по могућности Убунту) инсталирана на вашем рачунару.
2) Питхон 3 инсталиран на вашем рачунару.
3) ПИП 3 инсталиран на вашем рачунару.
4) Гоогле Цхроме инсталиран на рачунару.

Много чланака о овим темама можете пронаћи на ЛинукХинт-у.цом. Обавезно их прегледајте ако вам је потребна помоћ.

Припрема виртуелног окружења Питхон 3 за пројекат:

Питхон виртуелно окружење се користи за креирање изолованог директорија Питхон пројекта. Питхон модули које инсталирате помоћу ПИП-а биће инсталирани само у директоријуму пројекта, а не глобално.

Питхон виртуаленв модул се користи за управљање Питхон виртуелним окружењима.

Можете инсталирати Питхон виртуаленв модул глобално користећи ПИП 3 на следећи начин:

$ судо пип3 инсталирај виртуаленв

Питхон виртуаленв треба инсталирати.

Направите директоријум пројекта хром-без главе / у вашем тренутном радном директоријуму на следећи начин:

$ мкдир -пв хром-без главе / управљачки програми

Идите до вашег новоствореног директоријума пројеката хром-без главе / као што следи:

$ цд хром без главе /

Креирајте Питхон виртуелно окружење у директоријуму свог пројекта следећом наредбом:

$ виртуаленв .венв

Питхон виртуелно окружење треба створити у .венв / директоријум у директоријуму вашег пројекта.

Активирајте Питхон виртуелно окружење директорија вашег пројекта следећом наредбом:

$ извор .венв / бин / активирати

Инсталирање библиотеке Селениум Питхон:

Библиотека селена је доступна у званичном спремишту Питхон ПиПИ.

Библиотеку Селениум Питхон можете инсталирати помоћу ПИП 3 на следећи начин:

$ пип3 инсталирајте селен

Треба инсталирати библиотеку Селениум Питхон.

Инсталирање Цхроме веб управљачког програма:

Цхроме веб управљачки програм ће вам омогућити да контролишете или аутоматизујете Гоогле Цхроме веб прегледач из компаније Селениум.

У овом одељку ћу вам показати како да инсталирате Цхроме веб управљачки програм.

Прво отворите Гоогле Цхроме и посетите цхроме: // сеттингс / хелп.

Када се страница учита, требало би да пронађете број верзије Гоогле Цхроме-а у О Цхроме-у одељак. Забележите прва 3 одељка броја верзије као што је означено на снимку екрана испод.

Да бисте преузели Цхроме веб управљачки програм, посетите званичну страницу за преузимање Цхроме управљачког програма.

У Тренутна издања одељак, Цхроме веб управљачки програм за најновија издања веб прегледача Гоогле Цхроме требало би да буде доступан, као што можете видети на снимку екрана испод. Једно од тренутних издања Цхроме веб управљачког програма требало би да има одговарајући број верзије вашег веб прегледача Гоогле Цхроме. Прва 3 одељка броја верзије Цхроме веб управљачког програма и веб прегледача Гоогле Цхроме морају се подударати.

Ако верзија коју тражите није у Тренутна издања померите се надоле и требало би да будете у могућности да га пронађете.

Једном када кликнете на број верзије Цхроме веб управљачког програма, требало би да пређе на страницу за преузимање. Кликните на цхромедривер_линук64.зип датотека одавде.

Треба преузети архиву Цхроме веб управљачког програма.

Преузето цхромедривер_линук64.зип датотека треба да буде у вашем ~ / Преузимања именик.

$ лс -лх ~ / Преузимања

Извуци цхромедривер_линук64.зип архива из ~ / Преузимања директоријум у возачи / директоријум вашег пројекта на следећи начин:

$ унзип ~ / Довнлоадс / цхромедривер_линук64.зип -д драјвери /

Нова датотека цхромедривер треба створити у возачи / директоријум вашег пројекта када се извади архива Цхроме веб управљачког програма, као што можете видети на снимку екрана испод.

Тестирање Цхроме веб управљачког програма у режиму без главе:

У овом одељку ћу вам показати како да покренете Селениум користећи Цхроме Дривер у режиму без главе.

Прво креирајте нову Питхон скрипту ек01.пи у директоријум вашег пројекта и укуцајте следеће редове кодова у њему.

из селена за увоз вебдривер-а
од селена.вебдривер.заједнички.кључеви увозе кључеве
од селена.вебдривер.хром.оптионс импорт Оптионс
цхромеОптионс = Опције ()
цхромеОптионс.без главе = Тачно
бровсер = вебдривер.Цхроме (извршна_пута = "./ дриверс / цхромедривер ", оптионс = цхромеОптионс)
претраживач.гет ("хттп: // линукхинт.цом ")
принт ("Наслов:% с"% прегледач.наслов)
претраживач.одустати()

Када завршите, сачувајте ек01.пи Питхон скрипта.

Ове линије увозе све потребне ствари из селен библиотека.

Као што сам раније рекао, Цхроме управљачки програм подразумевано покушава да покрене Гоогле Цхроме у графичком режиму. Да бисмо покренули Гоогле Цхроме у режиму без главе, морамо да кажемо управљачком програму Цхроме-а да проследи неке додатне опције. Ова линија ствара Опције објекат који касније можемо проследити Цхроме веб управљачком програму.

Можете да покренете Гоогле Цхроме у режиму без главе једноставно подешавањем без главе својство цхромеОптионс противити се Истинито.

Или можете да користите адд_аргумент () метода цхромеОптионс објект за додавање -без главе аргумент командне линије за покретање Гоогле Цхроме-а у безглавом режиму помоћу веб управљачког програма Селениум Цхроме.

Можете користити а вебдривер.Хром() метода за иницијализацију / покретање веб прегледача Гоогле Цхроме из Селениум-а. Тхе извршна_пута аргумент се користи да се Селенију каже да користи цхромедривер бинарни из возачи / директоријум пројекта. Тхе Опције аргумент говори Селенију да користи наше прилагођене опције цхромеОптионс.

Једном када Селениум покрене Гоогле Цхроме веб прегледач помоћу Селениум Цхроме Веб Дривер-а, враћа а претраживач објект. Касније га можемо користити за контролу инстанце Гоогле Цхроме-а.

Тхе претраживач.добити() метода учитава линукхинт.цом веб локација у веб прегледачу Гоогле Цхроме у позадини (у режиму без главе).

Једном када се страница учита, претраживач.наслов власништво ће имати наслов веб странице. Питхон испис () метода штампа наслов веб странице на конзоли.

Затим претраживач.одустати() методом затвара веб прегледач Гоогле Цхроме.

Да бисте тестирали да ли Селениум може да ради у режиму без главе, покрените Питхон скрипту ек01.пи као што следи:

$ питхон3 ек01.пи

Требало би да штампа наслов веб странице на конзоли без отварања веб прегледача Гоогле Цхроме у графичком режиму.

Само да бих вам показао да ради са Линук безглавих сервера (где није инсталиран графички кориснички интерфејс), покренуо сам Питхон скрипту ек01.пи на Убунту серверу 20.04 ЛТС. Као што видите, скрипта ради сасвим добро.

Веб стругање селеном у режиму без главе помоћу Цхроме веб управљачког програма:

У овом одељку ћу вам показати пример уклањања веба у селенијуму помоћу Цхроме управљачког програма у режиму без главе.

Прво посетите генератор случајних имена.информације из Гоогле Цхроме-а или било ког другог веб-прегледача. Ова веб локација ће генерисати 10 насумичних имена сваки пут када поново учитате страницу, као што можете видети на снимку екрана испод. Циљ нам је да издвојимо ова насумична имена помоћу селена у режиму без главе.

Да бисте сазнали ХТМЛ структуру листе, морате отворити Цхроме Девелопер Тоол. Да бисте то урадили, притисните десни тастер миша (РМБ) на страници и кликните на Прегледајте или притисните + + Ја.

Цхроме Девелопер Тоол треба отворити. Кликните на Икона прегледа () како је означено на снимку екрана испод.

Затим задржите показивач изнад листе Насумична имена. Списак треба бити истакнут као што је означено на снимку екрана испод. Затим притисните леви тастер миша (ЛМБ) да бисте изабрали листу.

ХТМЛ код листе треба да буде истакнут у Елементи на картици Цхроме Девелопер Тоол. Овде је листа насумичних имена унутар а див елемент. Тхе див елемент има класа име резултати. У њему имамо ол елемент са класа име намеЛист. Унутар ол елемент, свако име је у а ли елемент.

Из овога можемо рећи да се долази до ли тагови, морамо да следимо див.резултати> ол.намеЛист> ли

Дакле, наш ЦСС селектор ће бити див.резултати ол.списак имена ли (само замените > знакови са празним простором)

За издвајање ових случајних имена створите нову Питхон скрипту ек02.пи и укуцајте у њега следеће редове кодова.

из селена за увоз вебдривер-а
од селена.вебдривер.заједнички.кључеви увозе кључеве
од селена.вебдривер.хром.оптионс импорт Оптионс
цхромеОптионс = Опције ()
цхромеОптионс.без главе = Тачно
бровсер = вебдривер.Цхроме (извршна_пута = "./ дриверс / цхромедривер ", оптионс = цхромеОптионс)
претраживач.гет ("хттп: // рандом-наме-генератор.инфо / ")
намеЛист = прегледач.финд_елементс_би_цсс_селецтор ('див.резултати ол.намеЛист ли ')
за име у листи имена:
испис (име.текст)
претраживач.одустати()

Када завршите, сачувајте ек02.пи Питхон скрипта.

Објаснио сам редове 1-8 у ранијем одељку овог чланка. То су исти као у ек01.пи.

Ред 10 учитава веб локацију генератора случајних имена помоћу претраживач.добити() метода.

Ред 11 бира листу имена помоћу претраживач.финд_елементс_би_цсс_селецтор () метода. Овај метод користи ЦСС селектор див.резултати ол.списак имена ли да бисте пронашли списак имена. Затим се листа имена чува у намеЛист променљива.

У редовима 13 и 14, а за петља се користи за итерацију кроз намеЛист листа ли елементи. У свакој итерацији, садржај ли елемент је одштампан на конзоли.

Сада покрените Питхон скрипту ек02.пи као што следи:

$ питхон3 ек02.пи

Као што видите, Питхон скрипта ек02.пи преузео сва случајна имена са веб странице.

Ако скрипту покренете други пут, требало би да врати нову листу случајних имена, као што можете видети на снимку екрана испод.

Проблеми са којима ћете се суочити приликом покретања селена у режиму без главе:

Раније сте видели да је покретање селена у режиму без главе помоћу Цхроме управљачког програма једнако лако као и подешавање цхромеОптионс.без главе застава до Истинито.

Ово решење можда неће радити за вас на неким Линук дистрибуцијама. У овом одељку ћу говорити о неким проблемима са којима се можете суочити док покрећете Селениум у режиму без главе помоћу Цхроме веб управљачког програма.

Подразумевано, веб прегледач Гоогле Цхроме ради пуно песковитог окружења (покреће многе ствари у изолованом окружењу). То може довести до проблема приликом покретања селена у режиму без главе помоћу Цхроме веб управљачког програма. Сандбокинг можете онемогућити за Гоогле Цхроме помоћу -без песковника застава.

Да бисте додали -без песковника заставицу, додајте следећи ред пре него што иницијализујете управљачки програм Селениум Цхроме помоћу вебдривер.Хром() метода (ред 8 у ек01.пи Питхон скрипта).

цхромеОптионс.адд_аргумент ("- без песковника")

Можда ћете имати проблема са обављањем одређених ствари у Гоогле Цхроме веб прегледачу из компаније Селениум, попут прављења снимака екрана веб странице и тако даље. То се може догодити јер у режиму без главе Гоогле Цхроме може поставити нетачну виртуелну резолуцију екрана. Дакле, ваша веб локација можда неће изгледати како треба. Можете да подесите жељену виртуелну резолуцију екрана за веб прегледач Гоогле Цхроме у режиму без главе помоћу -величина прозора опција командне линије.

На пример, да поставите виртуелну ширину екрана на 1280 пк а висина до 720 пк, Додајте -величина прозора опција командне линије пре иницијализације Селениум Цхроме управљачког програма помоћу вебдривер.Хром() метода (ред 8 у ек01.пи Питхон скрипта) како следи:

цхромеОптионс.адд_аргумент ("- величина прозора = 1280,720")

На вашем серверу можда није инсталиран ГПУ или може имати ГПУ који веб прегледач Гоогле Цхроме неће знати да користи. Гоогле Цхроме би подразумевано требало аутоматски да онемогући убрзање ГПУ-а ако ГПУ није доступан или ако је доступан неподржани ГПУ. У неким случајевима то можда неће успети. У том случају, Селениум можда неће моћи да покреће веб прегледач Гоогле Цхроме у режиму без главе. Да бисте решили овај проблем, морате да онемогућите убрзање ГПУ-а помоћу -дисабле-гпу застава.

Да бисте додали -дисабле-гпу заставицу, додајте следећи ред пре него што иницијализујете управљачки програм Селениум Цхроме помоћу вебдривер.Хром() метода (ред 8 у ек01.пи Питхон скрипта).

цхромеОптионс.адд_аргумент (“- дисабле-гпу”)

Закључак:

У овом чланку показао сам вам како да подесите Селен у режиму без главе помоћу Цхроме веб управљачког програма. Објаснио сам основе које ће вам помоћи да започнете са безглавом аутоматизацијом претраживача Селениум, веб тестирањем и стругањем веба.

Такође сам обрадио неке аргументе / заставице Гоогле Цхроме наредбеног ретка помоћу којих можете да решите неке проблеме које имате током покретања Селениум-а у режиму без главе помоћу Цхроме веб управљачког програма.

Доступне су још многе опције Гоогле Цхроме командне линије које нисам обрађивао у овом чланку. Ове опције командне линије могу бити корисне за ваш пројекат. Све подржане опције Гоогле Цхроме наредбеног ретка можете пронаћи на страници Списак прекидача командне линије Цхромиум Петер Беверлоо.

Како променити показивач миша и величину, боју и шему курсора на Виндовс 10
Показивач миша и курсор у оперативном систему Виндовс 10 су врло важни аспекти оперативног система. То се може рећи и за друге оперативне системе, так...
Бесплатни и отворени кодни покретачки програми за развој Линук игара
Овај чланак ће обухватити листу бесплатних покретача игара отвореног кода који се могу користити за развој 2Д и 3Д игара на Линуку. Бројни су такви мо...
Водич за сенку Томб Раидера за Линук
Схадов оф тхе Томб Раидер је дванаести додатак серији Томб Раидер - акцијско-авантуристичкој игри коју је створио Еидос Монтреал. И критичари и фанови...