Покажи Публикации - supportpc
* Виж публикациите на потр. | Виж темите на потр. | Виж прикачените файлове на потр
Страници: [1] 2 3 ... 8
1  Програмиране / Web development / Re: Авариите на чез. -: Mar 02, 2020, 14:59
не става нещо
#!/usr/bin/env python3

from selenium import webdriver


options = webdriver.ChromeOptions()
options.add_argument('--headless')
options.add_argument('log-level=3')
options.add_experimental_option('excludeSwitches', ['enable-logging'])

chromedriver='/usr/bin/chromedriver'

driver = webdriver.Chrome(chromedriver,
                          chrome_options=options)
 

driver.get('http://www.cez.bg/bg/e-uslugi/avarii-remonti.html')
driver.switch_to.frame(driver.find_elements_by_tag_name('iframe')[0])
driver.find_element_by_id('searchField').send_keys('Перник')


for element in driver.find_elements_by_class_name('ui-btn'):
    # print(element.text)
    if element.text.startswith('Перник'.upper()):
        element.click()
       
        status = driver.find_element_by_class_name('ui-body').text
        print(status)


тово е грешката
Traceback (most recent call last):
  File "./chez.py", line 14, in <module>
    chrome_options=options)
  File "/usr/local/lib/python3.5/dist-packages/selenium/webdriver/chrome/webdriver.py", line 81, in __init__
    desired_capabilities=desired_capabilities)
  File "/usr/local/lib/python3.5/dist-packages/selenium/webdriver/remote/webdriver.py", line 157, in __init__
    self.start_session(capabilities, browser_profile)
  File "/usr/local/lib/python3.5/dist-packages/selenium/webdriver/remote/webdriver.py", line 252, in start_session
    response = self.execute(Command.NEW_SESSION, parameters)
  File "/usr/local/lib/python3.5/dist-packages/selenium/webdriver/remote/webdriver.py", line 321, in execute
    self.error_handler.check_response(response)
  File "/usr/local/lib/python3.5/dist-packages/selenium/webdriver/remote/errorhandler.py", line 242, in check_response
    raise exception_class(message, screen, stacktrace)
selenium.common.exceptions.WebDriverException: Message: unknown error: Chrome failed to start: exited abnormally
  (unknown error: DevToolsActivePort file doesn't exist)
  (The process started from chrome location /usr/bin/chromium is no longer running, so ChromeDriver is assuming that Chrome has crashed.)
  (Driver info: chromedriver=73.0.3683.75,platform=Linux 4.9.0-12-amd64 x86_64)
2  Програмиране / Web development / Re: Авариите на чез. -: Feb 24, 2020, 09:24
from selenium import webdriver


options = webdriver.ChromeOptions()
options.add_argument('--headless')
options.add_argument('log-level=3')
options.add_experimental_option('excludeSwitches', ['enable-logging'])

chromedriver='/usr/bin/chromedriver'

driver = webdriver.Chrome(chromedriver,
                          options=options)

driver.get('http://www.cez.bg/bg/e-uslugi/avarii-remonti.html')
driver.switch_to.frame(driver.find_elements_by_tag_name('iframe')[0])
driver.find_element_by_id('searchField').send_keys('Перник')


for element in driver.find_elements_by_class_name('ui-btn'):
    # print(element.text)
    if element.text.startswith('Перник'.upper()):
        element.click()
       
        status = driver.find_element_by_class_name('ui-body').text
        print(status)

Сега това дава
Traceback (most recent call last):
  File "chez.py", line 13, in <module>
    options=options)
TypeError: __init__() got an unexpected keyword argument 'options'

3  Програмиране / Web development / Re: Авариите на чез. -: Feb 21, 2020, 15:35
ето виж какво дава така
root@vasko-vps:/home/user# python3 test.py
Traceback (most recent call last):
  File "/usr/local/lib/python3.7/dist-packages/selenium/webdriver/common/service.py", line 76, in start
    stdin=PIPE)
  File "/usr/lib/python3.7/subprocess.py", line 775, in __init__
    restore_signals, start_new_session)
  File "/usr/lib/python3.7/subprocess.py", line 1522, in _execute_child
    raise child_exception_type(errno_num, err_msg, err_filename)
FileNotFoundError: [Errno 2] No such file or directory: 'C:/Storage/Bin/chromedriver.exe': 'C:/Storage/Bin/chromedriver.exe'

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File "test.py", line 12, in <module>
    options=options)
  File "/usr/local/lib/python3.7/dist-packages/selenium/webdriver/chrome/webdriver.py", line 73, in __init__
    self.service.start()
  File "/usr/local/lib/python3.7/dist-packages/selenium/webdriver/common/service.py", line 83, in start
    os.path.basename(self.path), self.start_error_message)
selenium.common.exceptions.WebDriverException: Message: 'chromedriver.exe' executable needs to be in PATH. Please see https://sites.google.com/a/chromium.org/chromedriver/home


Пробвай този скрипт, който ти дадох и по-нагоре и който странно защо ненужно изменяш.
Пробвай без да променяш нищо. Не би трябвало да зависи от операционната система.
Само там, където съм задал пътя до chromedriver можеш да си поставиш твоя.

Код:
from selenium import webdriver


options = webdriver.ChromeOptions()
options.add_argument('--headless')
options.add_argument('log-level=3')
options.add_experimental_option('excludeSwitches', ['enable-logging'])

chromedriver='C:/Storage/Bin/chromedriver.exe'

driver = webdriver.Chrome(chromedriver,
                          options=options)

driver.get('http://www.cez.bg/bg/e-uslugi/avarii-remonti.html')
driver.switch_to.frame(driver.find_elements_by_tag_name('iframe')[0])
driver.find_element_by_id('searchField').send_keys('Перник')


for element in driver.find_elements_by_class_name('ui-btn'):
    # print(element.text)
    if element.text.startswith('Перник'.upper()):
        element.click()
       
        status = driver.find_element_by_class_name('ui-body').text
        print(status)
4  Програмиране / Web development / Re: Авариите на чез. -: Feb 21, 2020, 10:09
Виж какво ми връща нямам driver
>>> driver = webdriver.Chrome(executable_path = r'/usr/bin/chromedriver')
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
  File "/usr/local/lib/python3.7/dist-packages/selenium/webdriver/chrome/webdriver.py", line 81, in __init__
    desired_capabilities=desired_capabilities)
  File "/usr/local/lib/python3.7/dist-packages/selenium/webdriver/remote/webdriver.py", line 157, in __init__
    self.start_session(capabilities, browser_profile)
  File "/usr/local/lib/python3.7/dist-packages/selenium/webdriver/remote/webdriver.py", line 252, in start_session
    response = self.execute(Command.NEW_SESSION, parameters)
  File "/usr/local/lib/python3.7/dist-packages/selenium/webdriver/remote/webdriver.py", line 321, in execute
    self.error_handler.check_response(response)
  File "/usr/local/lib/python3.7/dist-packages/selenium/webdriver/remote/errorhandler.py", line 242, in check_response
    raise exception_class(message, screen, stacktrace)
selenium.common.exceptions.WebDriverException: Message: unknown error: Chrome failed to start: exited abnormally
  (unknown error: DevToolsActivePort file doesn't exist)
  (The process started from chrome location /usr/bin/google-chrome is no longer running, so ChromeDriver is assuming that Chrome has crashed.)
  (Driver info: chromedriver=2.41.578700 (2f1ed5f9343c13f73144538f15c00b370eda6706),platform=Linux 4.19.0-8-amd64 x86_64)
5  Програмиране / Web development / Re: Авариите на чез. -: Feb 21, 2020, 09:16
поне при мен не тръгва пак да ти кажа с линукс съм
6  Програмиране / Web development / Re: Авариите на чез. -: Feb 21, 2020, 09:15
Нещо не става остави го благодаря ти все пак
7  Програмиране / Web development / Re: Авариите на чез. -: Feb 20, 2020, 17:15
Виш какво дава така
!/usr/bin/env python3

import time

from selenium import webdriver
from selenium.webdriver.chrome.service import Service
from selenium.webdriver.chrome.options import Options

#service = Service('/usr/bin/chromedriver')

driver = webdriver.Chrome(executable_path = r'/usr/bin/chromedriver')     
driver.get('http://www.cez.bg/bg/e-uslugi/avarii-remonti.html')
driver.switch_to.frame(driver.find_elements_by_tag_name('iframe')[0])
driver.find_element_by_id('searchField').send_keys('Перник')

for element in driver.find_elements_by_class_name('ui-btn'):
    print(element.text)

driver.quit()
_________________________________________________________________________________
root@vasko-vps:/home/user# ./chez.py
Traceback (most recent call last):
  File "./chez.py", line 11, in <module>
    driver = webdriver.Chrome(executable_path = r'/usr/bin/chromedriver')     
  File "/usr/local/lib/python3.7/dist-packages/selenium/webdriver/chrome/webdriver.py", line 81, in __init__
    desired_capabilities=desired_capabilities)
  File "/usr/local/lib/python3.7/dist-packages/selenium/webdriver/remote/webdriver.py", line 157, in __init__
    self.start_session(capabilities, browser_profile)
  File "/usr/local/lib/python3.7/dist-packages/selenium/webdriver/remote/webdriver.py", line 252, in start_session
    response = self.execute(Command.NEW_SESSION, parameters)
  File "/usr/local/lib/python3.7/dist-packages/selenium/webdriver/remote/webdriver.py", line 321, in execute
    self.error_handler.check_response(response)
  File "/usr/local/lib/python3.7/dist-packages/selenium/webdriver/remote/errorhandler.py", line 242, in check_response
    raise exception_class(message, screen, stacktrace)
selenium.common.exceptions.WebDriverException: Message: unknown error: Chrome failed to start: exited abnormally
  (unknown error: DevToolsActivePort file doesn't exist)
  (The process started from chrome location /usr/bin/google-chrome is no longer running, so ChromeDriver is assuming that Chrome has crashed.)
  (Driver info: chromedriver=2.41.578700 (2f1ed5f9343c13f73144538f15c00b370eda6706),platform=Linux 4.19.0-8-amd64 x86_64)
8  Програмиране / Web development / Re: Авариите на чез. -: Feb 20, 2020, 16:11
Абе нещо не както трябва

#!/usr/bin/env python3

import time

from selenium import webdriver
from selenium.webdriver.chrome.service import Service
from selenium.webdriver.chrome.options import Options

#service = Service('/usr/bin/chromedriver')

#driver = webdriver.Chrome(executable_path = r'/usr/bin/chromedriver')     
driver.get('http://www.cez.bg/bg/e-uslugi/avarii-remonti.html')
driver.switch_to.frame(driver.find_elements_by_tag_name('iframe')[0])
driver.find_element_by_id('searchField').send_keys('Перник')

for element in driver.find_elements_by_class_name('ui-btn'):
    print(element.text)

driver.quit()
9  Програмиране / Web development / Re: Авариите на чез. -: Feb 20, 2020, 16:10
root@vasko-vps:/home/user# python3.7 chez.py
Traceback (most recent call last):
  File "chez.py", line 12, in <module>
    driver.get('http://www.cez.bg/bg/e-uslugi/avarii-remonti.html')
NameError: name 'driver' is not defined
10  Програмиране / Web development / Re: Авариите на чез. -: Feb 20, 2020, 15:25
ok
11  Програмиране / Web development / Re: Авариите на чез. -: Feb 20, 2020, 12:18
Здравейте, като го пусна скрипта ми изплюва тази грешка не мога да я оправа
#!/usr/bin/env python3.7

import time

from selenium import webdriver
from selenium.webdriver.chrome.service import Service
from selenium.webdriver.chrome.options import Options

service = Service('/usr/bin/chromedriver')
driver.get('http://www.cez.bg/bg/e-uslugi/avarii-remonti.html')
driver.switch_to.frame(driver.find_elements_by_tag_name('iframe')[0])
driver.find_element_by_id('searchField').send_keys('Перник')

for element in driver.find_elements_by_class_name('ui-btn'):
    print(element.text)

driver.quit()

това е грешката
root@vasko-vps:/home/user# ./chez.py

Traceback (most recent call last):
  File "./chez.py", line 10, in <module>
    driver.get('http://www.cez.bg/bg/e-uslugi/avarii-remonti.html')
NameError: name 'driver' is not defined

Благодаря предварително.
12  Програмиране / Web development / Re: Авариите на чез. -: Feb 19, 2020, 08:53
по принцип не искам да кликам а направо да ми изкара за дадения район от кога до кога няма да има ток ама май доста сложно става това нещо
13  Програмиране / Web development / Re: Авариите на чез. -: Feb 18, 2020, 16:03
#!/usr/bin/env python
# -*- coding: utf8 -*-

from selenium import webdriver

from selenium.webdriver.common.keys import Keys

driver = webdriver.Chrome('/usr/bin/chromedriver')
driver.get("http://www.cez.bg/bg/e-uslugi/avarii-remonti.html")
driver.switch_to.frame(driver.find_elements_by_tag_name('iframe')[0])
driver.find_element_by_id('searchField').send_keys('Перник')

for element in driver.find_elements_by_class_name('ui-btn'):
    print(element.text)

опитвам се така да го подкарам и не мога виш какви грешки ми дава

python chez.py
Traceback (most recent call last):
  File "chez.py", line 11, in <module>
    driver = webdriver.Chrome('/usr/bin/chromedriver')
  File "/usr/local/lib/python3.4/dist-packages/selenium/webdriver/chrome/webdriver.py", line 81, in __init__
    desired_capabilities=desired_capabilities)
  File "/usr/local/lib/python3.4/dist-packages/selenium/webdriver/remote/webdriver.py", line 157, in __init__
    self.start_session(capabilities, browser_profile)
  File "/usr/local/lib/python3.4/dist-packages/selenium/webdriver/remote/webdriver.py", line 252, in start_session
    response = self.execute(Command.NEW_SESSION, parameters)
  File "/usr/local/lib/python3.4/dist-packages/selenium/webdriver/remote/webdriver.py", line 321, in execute
    self.error_handler.check_response(response)
  File "/usr/local/lib/python3.4/dist-packages/selenium/webdriver/remote/errorhandler.py", line 242, in check_response
    raise exception_class(message, screen, stacktrace)
selenium.common.exceptions.WebDriverException: Message: unknown error: Chrome failed to start: exited abnormally
  (unknown error: DevToolsActivePort file doesn't exist)
  (The process started from chrome location /usr/bin/google-chrome is no longer running, so ChromeDriver is assuming that Chrome has crashed.)
  (Driver info: chromedriver=2.41.578700 (2f1ed5f9343c13f73144538f15c00b370eda6706),platform=Linux 4.9.0-12-amd64 x86_64)
14  Програмиране / Web development / Re: Авариите на чез. -: Feb 16, 2020, 09:57
Здравей пробвах скрипта но не мога да го подкарам под Дебиан 9 казва ми да си заредя тези модули .PhantomJS selenium нo за дебиан нещо не става версията на питона е 3.7 и не става
да всичко съм изтрил защо не,  можах да го направя доста е сложно защо инфото е динамично в сайта на чез
Тази тема не е от вчера. Имаше и голяма разлика между последното ти питане и сега. Време да напишеш и пробваш нещо със сигурност си имал. Ако цениш нашето време, дето евентуално ще се помага, хубаво е някакво усилие да покажеш. Мога да ти пратя нещо работещо, но трябва да седна да го направя аз. И както казах, това е време, което точно в момента не мога да отделя.
Не зная, какво си изтрил, щото било сложно.
Според мен нищо не си опитал.

Ето колко е сложно всъщност - 10 реда код на Python, включително празните редове:
Код:
from selenium import webdriver


driver = webdriver.PhantomJS()
driver.get('http://www.cez.bg/bg/e-uslugi/avarii-remonti.html')
driver.switch_to.frame(driver.find_elements_by_tag_name('iframe')[0])
driver.find_element_by_id('searchField').send_keys('Перник')

for element in driver.find_elements_by_class_name('ui-btn'):
    print(element.text)


Изплюва това:

Код:
ЛЕСКОВЕЦ, ОБЩ. ПЕРНИК
ЛЮЛИН, ОБЩ. ПЕРНИК
ПЕРНИК
ПЛАНИНИЦА, ОБЩ. ПЕРНИК
СТУДЕНА, ОБЩ. ПЕРНИК
ЧЕРНА ГОРА, ОБЩ. ПЕРНИК

Предполагам, че това е достатъчно инфо, за да продължиш.
15  Програмиране / Web development / Re: Авариите на чез. -: Feb 14, 2020, 12:37
добре ще го тествам
Колега благодаря все пак че отдели време за мен  ще го тествам
Не съм колега, защото това ми е хоби и го ползвам да си улеснявам живота.

Ако разгледаш кода, той е достатъчно ясен. Особено методите на Selenium. Имената им казват, какво точно правят.
А елементите от уеб страницата са селектирани по css - class или id.

На теб ти трябват последните два реда. Трябва само да сравниш съвпадението в tag.text, както съм направил и ако съвпада с желаното, да element.click()-неш върху него, а после да влемеш резултата пак селектирайки от DOM каквото ти е нужно, , както е направено малко по-нагоре и вземайки текста му.

Докато тествах скрипта ми излизаше предупреждение, че PhantomJS e остаряло и изглежда не е по силите на разработчика да го бута напред. Няма достатъчно помощници. Можеш да свалиш chromedriver и да го сложиш при скрипта или където искаш. Можеш, при инициирането на driver ( или както някои го кръщават browser - все едно ) да окажеш и пътя до него, та си го плясни, където ти е угодно. Как да използваш chromedriver със Selenium и Python има навсякъде.

Това му е хубавото на този език - можеш да си свършиш работата без много усилия. В повечето случаи
Страници: [1] 2 3 ... 8