LINUX.ORG.RU

Сообщения blablacon

 

webdriver не запускается с заранее подготовленным профилем.

Форум — Development

Добрый день, уважаемые Лоровцы! У меня есть два скрипта, которые делают следующее:

- первый скрипт запускает браузер(Firefox), и перемещает его профиль с помощью shutil в нужный мне каталог, после этого делает quit либо close браузера

- второй скрипт запускает браузер с этим профилем, который был скопирован.

И как раз-таки проблема в том, что он не запускается. Если же пробовать просто «firefox -profile ./профиль --no-remote», то всё запускается, и виден вывод в stderr какого-то лога. Через selenium же - только ошибки.

Привожу лог:

>>> from selenium import webdriver
>>> pfdir = './firefox_prof'
>>> profile = webdriver.FirefoxProfile(profile_directory=pfdir)
>>> browser = webdriver.Firefox(profile)
Traceback (most recent call last):
  File "<input>", line 1, in <module>
  File "/usr/local/lib/python2.7/dist-packages/selenium/webdriver/firefox/webdriver.py", line 59, in __init__
    self.binary, timeout),
  File "/usr/local/lib/python2.7/dist-packages/selenium/webdriver/firefox/extension_connection.py", line 45, in __init__
    self.profile.add_extension()
  File "/usr/local/lib/python2.7/dist-packages/selenium/webdriver/firefox/firefox_profile.py", line 92, in add_extension
    self._install_extension(extension)
  File "/usr/local/lib/python2.7/dist-packages/selenium/webdriver/firefox/firefox_profile.py", line 281, in _install_extension
    shutil.copytree(addon, addon_path, symlinks=True)
  File "/usr/lib/python2.7/shutil.py", line 177, in copytree
    os.makedirs(dst)
  File "/usr/lib/python2.7/os.py", line 157, in makedirs
    mkdir(name, mode)
OSError: [Errno 17] Файл существует: '/tmp/tmp1HSlXL/webdriver-py-profilecopy/extensions/fxdriver@googlecode.com'
>>> 

Вопрос: что я делаю не так? Всех нюансов работы с Selenium я пока что не знаю, так что прошу меня натолкнуть на истинный пусть. Всем заранее спасибо.

 , ,

blablacon
()

Странные дела.

Форум — Development

Добрый день. Я написал небольшой «бенчмарк» для своего сервера, который непрекращаясь запускает firefox, и заходит на одну страницу. Всё идёт хорошо, до 248-249 firefox, после этого скрипт падает, и пишет:

Traceback (most recent call last):
  File "./benchmark.py", line 10, in <module>
    browser = webdriver.Firefox()
  File "/usr/lib64/python2.7/site-packages/selenium/webdriver/firefox/webdriver.py", line 59, in __init__
    self.binary, timeout),
  File "/usr/lib64/python2.7/site-packages/selenium/webdriver/firefox/extension_connection.py", line 47, in __init__
    self.binary.launch_browser(self.profile)
  File "/usr/lib64/python2.7/site-packages/selenium/webdriver/firefox/firefox_binary.py", line 66, in launch_browser
    self._wait_until_connectable()
  File "/usr/lib64/python2.7/site-packages/selenium/webdriver/firefox/firefox_binary.py", line 100, in _wait_until_connectable
   raise WebDriverException("The browser appears to have exited "
selenium.common.exceptions.WebDriverException: Message: The browser appears to have exited before we could connect. If you specified a log_file in the Firefox Binary constructor, check it for details.


Вот код «бенчмарка»:

#!/usr/bin/env python2.7
# coding=utf-8
from pyvirtualdisplay import Display
from termcolor import colored
from selenium import webdriver
count = 0
display = Display(visible=0, size=(1280, 1024))
display.start()
while count < 255:
	browser = webdriver.Firefox()
	browser.get('https://yandex.ru')
	print browser.title
	browser.find_element_by_link_text('tab-slovari').click()
	print colored('click', 'yellow')
	print 'start '+colored(str(count), 'red')+' browser'
	count=count+1
display.stop()

print colored(' ((( *** COMPLETED *** )))  ', 'cyan')
На сервере 32 гигабайта памяти, и около 20-25 гигабайт свапа в zram(на всякий случай). Под конец работы программы получается следующий вывод free:
             total       used       free     shared    buffers     cached
Mem:      32915892   31199984    1715908     106408      50680     326192
-/+ buffers/cache:   30823112    2092780
Swap:     26212340    7634732   18577608
То есть память ещё есть, а ООМ-killer никого не прихлопывал. Подумал, что запустил близкое к лимиту количество процессов браузера, но нет, процессов всего 321 в системе, а потоков 7025. Всё это дело крутится в lxc.

Кто может подсказать, в чём может быть дело? Возможно какие-то ограничения xvfb? Пробовал запускать под vnc - та же беда.

Лог, о котором пишет selenium webdriver, сейчас попробую найти.

 , , ,

blablacon
()

Затуп с time в python

Форум — Development

Приветствую тебя, Лор! Есть следующий код, который по сути должен работать, но я не понимаю почему не работает.

#!/usr/bin/env python2.7
import sys
import time

while True:
        sys.stdout.write("\r Hmm")
        time.sleep(0.1)

То есть после вывода «Hmm» нужно подождать какое-то время. Но скрипт зацикливается, ничего не выводя. Если его прервать, то трейс вылетит именно на строке с time.sleep.

В чём может быть соль?

 

blablacon
()

Python и модули

Форум — Development

Добрый день, господа. Допустим, у меня есть скрипт main.py, в котором загружается мой собственный модуль, который лежит в ./lib/. Пробовал загружать и с помощью import, и с помощью from module import ololo - всё то же.

В модуле описана функция, что-нибудь вроде

def ololo()
 print 'start'
 print 'finish'
И когда я пытаюсь запустить из основной программы функцию модуля, то интерпретатор пишет мне:

object is not callable

В чём может быть соль?

 

blablacon
()

Магическая проблема с циклом

Форум — Development

Добрый день, есть такой код:

	while accountcount < accmax:
		account_to_speak.append(listaccsql[randrange(int(accmax))])
		print account_to_speak
		accountcount = accountcount + 1
accountcount равно нулю, accmax - равно одному(или двум, без разницы).

В listaccsql содержатся юзернеймы. Но это не важно. Цикл должен случайно подбирать эти юзернеймы из допустимого диапазона, но когда запускается этот кусок кода в скрипте, то бесконечно выводится один кусок листа. В чём может быть проблема? Прошу прощений за скомканность текста, если что - пишите. И я что-то уже совсем потерял соль.

 ,

blablacon
()

Удаление всех совпадений в строке с особым смещением

Форум — Development

Добрый день, господа. Допустим у меня есть строчка:

kakakakaka=kakakakaka-kakakakaka&-kakakakaka&kakakaka&

И,например, мне нужно удалить после «kakakakaka=» все символы «&», как можно это сделать без указания смещений?(В смысле, чтобы не делать variable[3:] + variable[:3], и всего такого) Чтобы можно было указать откуда и до куда в строке надо смотреть, и что изменять. Как replace, только который умеет глядеть только в определённый диапазон символов.

Всем буду очень благодарен за ответы.

 

blablacon
()

Обработка строк в php. Помогите!

Форум — Development

Всем привет. Недавно начал изучать php из-за кое-каких нужд. И так, задача - принять файлик, считать каждую строку, и каждый символ в каждой строке обнести нужным текстом. А в конце строки, или в начале новой, воткнуть <br> У нас будет, допустим, просто цифра 1.

Например, у нас есть файл, в котором три строки:

blablabla bla kokoko ko

Пишу следующий код(быдлокод):

        while ( $i < strlen($readfile[$a])) {
        		fwrite ($writefile, '1'.$readfile[$a][$i]);
                $i++;
                if ( $i == strlen($readfile[$a])) {
                        $i = 0;
                        $a++;
                        fwrite($writefile, "<br>");

А получается:

1b1l1a1b1l1a1b1l1a1 1b1l1a1
<br>1k1o1k1o1k1o1 1k1o1
<br>

В общем, додуматься не могу. Что не так? Подскажите пожалуйста. Читать маны - и так читаю, только начинаю осваивать php.

 ,

blablacon
()

D-link dap-2310 и какой-нибудь из WRT

Форум — Linux-hardware

Добрый день, получил недавно эту точку в руки. Возможно ли её перешить на DD-WRT, или Openwrt? Нагуглить ничего не удалось, кроме единственного треда на лоре про эту же точку, но и там ничего не написали.

Есть у кого-нибудь опыт по перепрошивке этой точки?

Всем заранее спасибо за ответы.

blablacon
()

Магия с перенаправлениями

Форум — Admin

Всем привет! Совсем измучал голову, пытаясь решить проблему. Есть веб-сервер, висит nginx на 80 порту, висит apache на 8080 порту, стоит ispconfig 3. Есть домен blablabla.com, и соответственно есть такой сайт. Есть ещё куча сайтов, допустим первый в их списке, в ispconfig, стоит alala.su. И вот какая беда - если в настройках днс-сервера настроить, допустим, домен kz.blablabla.com, то когда перейдёшь на этот сайт по http, тебя перенаправил на alala.su. А, по сути, должна быть ошибка. В настройках ISP не указано, что поддомены на этом домене могут работать. В чём, допустим, может быть проблема? Буду очень признателен вам за помощь.

 , , ,

blablacon
()

bash, и экранирование кавычек

Форум — Development

Привет, Лор. Сразу к делу. Есть скрипт, в нём есть цикл, который обходит некую переменную, и выполняет такую команду. Всё вроде работает, но не могу нормально экранировать кавычки.

                        ssh root@"$HOST0" "echo \"\$TTL    3600
$i.                                       IN      SOA     ns1.$i. root.$i. (2013071701 10800 3600 604800 86400)
$i.                                       IN      NS      ns1.$i.
$i.                                       IN      NS      ns2.$i.
$i.                                       IN      MX      10 mail
$i.                                       IN      MX      20 mail
$i.                                       IN      A        $HOST0
www                                       IN      A        $HOST0
ftp                                       IN      A        $HOST0
mail                                      IN      A        $HOST0
smtp                                      IN      A        $HOST0
pop                                       IN      A        $HOST0
*                                         IN      A        $HOST0
$i.                                       IN      TXT      \"v=spf1 ip4:$HOST0 a mx ~all\"\"  >        /etc/bind/db.$i"

А получается в текстовом файлике:

    3600
blablabla.com.                                       IN      SOA     ns1.blablabla.com. root.blablabla.com. (2013071701 10800 3600 604800 86400)
blablabla.com.                                       IN      NS      ns1.blablabla.com.
blablabla.com.                                       IN      NS      ns2.blablabla.com.
blablabla.com.                                       IN      MX      10 mail
blablabla.com.                                       IN      MX      20 mail
blablabla.com.                                       IN      A        127.0.0.1
www                                       IN      A        127.0.0.1
ftp                                       IN      A        127.0.0.1
mail                                      IN      A        127.0.0.1
smtp                                      IN      A        127.0.0.1
pop                                       IN      A        127.0.0.1
*                                         IN      A        127.0.0.1
blablabla.com.                                       IN      TXT      v=spf1 ip4:127.0.0.1 a mx ~all
А должно получаться по-другому, в начале, на первой строке должно быть.

$TTL    3600

А в конце должно быть:

blablabla.com.                                       IN      TXT      "v=spf1 ip4:127.0.0.1 a mx ~all"

Собственно, прошу помощи. Наверняка истина где-то рядом.

 

blablacon
()

Встроенный видео-чип от AMD и Linux

Форум — Linux-hardware

Добрый день, Лор. Есть материнка http://www.gigabyte.ru/products/page/mb/ga-78lmt-usb3rev_41/overview/ , хотелось бы использовать встроенное графическое ядро. Заведётся ли оно в Gentoo? С каким драйвером будет работать лучше, с открытым или закрытым? Полноценно ли можно использовать 3D ускорение с открытым драйвером, я смогу, допустим, в Майнтест поиграть?

blablacon
()

Долгое время ожидания ответа от nginx

Форум — Admin

Всем привет! Сразу к сути. Есть сервер, на нём стоит apache И nginx, медленно грузится, поставил им для теста на 88 порту nginx и php-fpm. Когда обращаюсь к сайту на 88 порт, то время ожидания ответа от nginx(согласно firebug) - 3 с чем-то секунды. Сначала пробовал общаться с php-fpm через socket, потом через tcp, но всё-равно ответ от nginx приходил только спустя секунды три после запроса. Статика грузится вполне быстро. Машина не загружена. 8 ядер, 16 гигабайт оперативной памяти, в свап не ушла, дисковая подсистема в норме.

Конфиги:

Новый конфиг для сайта - http://paste.org.ru/?ndkhv5 Так, набросал на скорую руку.

nginx.conf - http://paste.org.ru/?02kx44

CMS - Umi.

blablacon
()

Когда поднимаю интерфейс lo, падает сеть на сервере

Форум — Admin

Привет, лор. Вот такая магия происходит. На сервере два интерфейса, один из которых смотрит в Интернет, другой в локальную сеть. Сервер достался на обслуживание недавно, так что я ничего так не корячил, а корячили, наверняка, прошлые админы.

Суть проблемы такова: запускаем сервер, всё стартует, nginx, php-fpm, memcache, потом сайт ругается на таймаут от memcached, я пытаюсь перезапустить memcache, но он не может забиндиться на 127.0.0.1, пытаюсь поднять локальный интерфейс

ifconfig lo up

и сеть падает.

Таблицу маршрутизации и настройку интерфейсов приведу попозже, как сервак восстановят. А пока, можете мне сказать, почему такое вообще может быть?

 ,

blablacon
()

Проверка существования директорий в bash

Форум — Development

Приветствую, Лор! Всё думаю-копаюсь, но ничего не могу придумать. На Bash начал писать недавно, и почти вообще ничего не знаю. Есть скрипт, который получает некое количество наименования директорий через запятую. Допустим, директории blablabla,kokoko,mumumu, и нужно проверить, существуют ли они вообще. Некоторые из них, а то может и все, лежат в каком-нибудь обозначенном каталоге. Вспомнил, что каталоги эти создавать можно с помощью такого вида команды:

mkdir /other/{blablabla,kokoko,mumumu}

И список этих каталогов содержит переменная BLAH, например. И всё успешно создаётся. Подумал, что можно сделать так же с помощью if [[ -d ]], то есть пишу что-то вроде:

if [[ -d /other/{$BLAH } ]]; и прочее ...

Но, к сожалению, это не работает? Спрашиваю у тебя, большой разум Лора, как можно решить эту проблему? Буду очень благодарен любому, кто отпишет.

 ,

blablacon
()

RSS подписка на новые темы