Форум сайта python.su
0
На пробном скрипте:
from selenium import webdriver
from selenium.common.exceptions import NoSuchElementException
from selenium.webdriver.common.keys import Keys
import time
browser = webdriver.Firefox() # Get local session of firefox
browser.get("http://www.yahoo.com") # Load page
assert "Yahoo!" in browser.title
elem = browser.find_element_by_name("p") # Find the query box
elem.send_keys("seleniumhq" + Keys.RETURN)
time.sleep(0.2) # Let the page load, will be added to the API
try:
browser.find_element_by_xpath("//a[contains(@href,'http://seleniumhq.org')]")
except NoSuchElementException:
assert 0, "can't find seleniumhq"
browser.close()
Traceback (most recent call last):Ему обязательно нужны х-ы или эмулятор х-ов? Зачем он просит номер терминала?
File “test.py”, line 15, in <module>
browser = webdriver.Firefox()
File “/usr/lib/python2.6/site-packages/selenium/webdriver/firefox/webdriver.py”, line 58, in __init__
self.binary, timeout),
File “/usr/lib/python2.6/site-packages/selenium/webdriver/firefox/extension_connection.py”, line 47, in __init__
self.binary.launch_browser(self.profile)
File “/usr/lib/python2.6/site-packages/selenium/webdriver/firefox/firefox_binary.py”, line 48, in launch_browser
self._wait_until_connectable()
File “/usr/lib/python2.6/site-packages/selenium/webdriver/firefox/firefox_binary.py”, line 90, in _wait_until_connectable
self._get_firefox_output())
selenium.common.exceptions.WebDriverException: Message: ‘The browser appears to have exited before we could connect. The output was: Error: no display specified\n’
# python sl.py
Traceback (most recent call last):
File “sl.py”, line 6, in <module>
browser = webdriver.Firefox() # Get local session of firefox
File “/usr/lib/python2.6/site-packages/selenium/webdriver/firefox/webdriver.py”, line 58, in __init__
self.binary, timeout),
File “/usr/lib/python2.6/site-packages/selenium/webdriver/firefox/extension_connection.py”, line 47, in __init__
self.binary.launch_browser(self.profile)
File “/usr/lib/python2.6/site-packages/selenium/webdriver/firefox/firefox_binary.py”, line 48, in launch_browser
self._wait_until_connectable()
File “/usr/lib/python2.6/site-packages/selenium/webdriver/firefox/firefox_binary.py”, line 90, in _wait_until_connectable
self._get_firefox_output())
selenium.common.exceptions.WebDriverException: Message: ‘The browser appears to have exited before we could connect. The output was: Error: no display specified\n’
Офлайн
11
А как без иксов откроется фаерфокс?
Офлайн
0
GriffonА если другой вебдрайвер взять? Он вообще умеет без иксов работать?
А как без иксов откроется фаерфокс?
Офлайн
Ставим xvfb, далее запускаем его:
Xvfb :0 -screen 0 1024x768x16
import os
os.environ['DISPLAY'] = ':0.0'
Отредактировано lorien (Март 19, 2013 22:18:21)
Офлайн
0
lorienА как грамотно запустить xvfb? Например при запуске в консоли под рутом:
Ставим xvfb, далее запускаем его:
Xvfb :0 -screen 0 1024x768x16
Initializing built-in extension Generic Event Extension
Initializing built-in extension SHAPE
Initializing built-in extension MIT-SHM
Initializing built-in extension XInputExtension
Initializing built-in extension XTEST
Initializing built-in extension BIG-REQUESTS
Initializing built-in extension SYNC
Initializing built-in extension XKEYBOARD
Initializing built-in extension XC-MISC
Initializing built-in extension XINERAMA
Initializing built-in extension XFIXES
Initializing built-in extension RENDER
Initializing built-in extension RANDR
Initializing built-in extension COMPOSITE
Initializing built-in extension DAMAGE
Initializing built-in extension MIT-SCREEN-SAVER
Initializing built-in extension DOUBLE-BUFFER
Initializing built-in extension RECORD
Initializing built-in extension DPMS
Initializing built-in extension X-Resource
Initializing built-in extension XVideo
Initializing built-in extension XVideo-MotionCompensation
Initializing built-in extension SELinux
Офлайн
> У меня все стопорится на:
Вы запускаете Xvfb и не получаете обратно управление в консоли? Так и должно быть, он запустился и ждёт, когда к нему будут обращаться GUI программы.
> И еще вопрос. У меня одновременно работает несколько копий скрипта. Каждой нужно присвоить свой номер дисплея?
Какой хотите, такой и присваивайте.
Офлайн
26
На самом деле всё проще. KVM + libvirt и нет проблем с иксами -- пусть себе крутятся.
Офлайн
0
Т.Е. Я правильно понимаю, что один номер Xvfb можно использовать для нескольких задач одновременно?
Офлайн
По-моему, попробовать проще, чем сидеть и ждать ответа на форуме. Вы так не думаете?
Офлайн
0
lorienПробую. Просто не очень понимаю что происходит. По моему отрабатывают только два процесса из семи, а почему так не ясно.
По-моему, попробовать проще, чем сидеть и ждать ответа на форуме. Вы так не думаете?
Офлайн