t.me/atinfo_chat Telegram группа по автоматизации тестирования

не могу запустить оперу


(JustBush) #1

доброго времени суток... столкнулся с проблемой при написании теста и запуска в опере, проблема в том что я не разобрался как запусть оперу через вебрайвер до конца, в кратце:

1) создал системную переменную SELENIUM_SERVER_JAR, указал путь к operadriver-v0.14.jar, создал переменную OPERA_PATH

2) cmd->python>

from selenium import webdriver

driver=webdriver.Opera()

запускается опера, но питон выдает ошибку

 

Traceback (most recent call last):
  File "<interactive input>", line 1, in <module>
  File "C:\Program Files (x86)\PY2.7\lib\site-packages\selenium\webdriver\opera\webdriver.py", line 56, in __init__
    desired_capabilities=desired_capabilities)
  File "C:\Program Files (x86)\PY2.7\lib\site-packages\selenium\webdriver\remote\webdriver.py", line 62, in __init__
    self.start_session(desired_capabilities, browser_profile)
  File "C:\Program Files (x86)\PY2.7\lib\site-packages\selenium\webdriver\remote\webdriver.py", line 104, in start_session
    'desiredCapabilities': desired_capabilities,
  File "C:\Program Files (x86)\PY2.7\lib\site-packages\selenium\webdriver\remote\webdriver.py", line 155, in execute
    self.error_handler.check_response(response)
  File "C:\Program Files (x86)\PY2.7\lib\site-packages\selenium\webdriver\remote\errorhandler.py", line 147, in check_response
    raise exception_class(message, screen, stacktrace)
WebDriverException: Message: u'Accept timed out' ; Stacktrace: Method socketAccept threw an error in None 

может я что не правильно делаю, не разобрался короче какой сервер использовать для оперы, помогите плз, в английском я не силен, так что без офф доков плз


(JustBush) #2

все, оперу запустил на работе, наверное дело в JRE старом было, следующий момент:

 

>>> from selenium import webdriver
>>> d=webdriver.Opera()
>>> d.set_window_size(600, 800)
Traceback (most recent call last):
  File "<interactive input>", line 1, in <module>
  File "C:\Program Files\Python\lib\site-packages\selenium\webdriver\remote\webdriver.py", line 727, in set_window_size
    'windowHandle': windowHandle})
  File "C:\Program Files\Python\lib\site-packages\selenium\webdriver\remote\webdriver.py", line 155, in execute
    self.error_handler.check_response(response)
  File "C:\Program Files\Python\lib\site-packages\selenium\webdriver\remote\errorhandler.py", line 147, in check_response
    raise exception_class(message, screen, stacktrace)
WebDriverException: Message: u'Not supported in OperaDriver yet' ; Stacktrace: Method window threw an error in OperaDriver.java
>>> d.set_window_size('1000', '700') - ничего не происходит
тоже самое с set_window_position()
хелп плз

(Mykhailo Poliarush) #3

дело в том, что в Опере не реализован этот метод. Собственно ошибка "Not supported in OperaDriver yet'" об этом и говорит.

что можно сделать в этом случае, увеличить окно через JavaScript

#Resize the window to the screen width/height
driver.execute_script('window.resizeTo(screen.width,screen.height)')
#Move the window to position 0,0
driver.execute_script('window.moveTo(0,0)')