Бездисплейный, scriptable Firefox/Webkit на Linux? [закрытый]

Обновление: я удалил ограничение высоты изображения и добавил ограничение соотношения сторон, разрыв теперь исчез, но получил тот же результат в видео

        let ratio = CGFloat(image.width) / CGFloat(image.height)
        let constraint = NSLayoutConstraint(item: self.userContentImageView,
                                            attribute: NSLayoutConstraint.Attribute.width,
                                            relatedBy: NSLayoutConstraint.Relation.equal,
                                            toItem: self.userContentImageView,
                                            attribute: NSLayoutConstraint.Attribute.height,
                                            multiplier: ratio,
                                            constant: 0.0)
        constraint.priority = 999
        self.userContentImageViewAspectConstraint = constraint

Обновление 2: 18 января 2019 г. [114 ]

Наконец, я нашел основную причину проблемы. Я не заметил, что нижнее ограничение нижнего вида совмещено с макетом безопасной области. Это приводит к тому, что вначале вид поднимается над панелью вкладок, и это создает дополнительное пространство и нарушает высоту ограничения изображения (его приоритет - 999). Я изменил выравнивание на супер-вид, а затем проблема исчезла.

45
задан hippietrail 17 August 2012 в 05:18
поделиться

3 ответа

Я выполнил аналогичную задачу со встроенным браузером IE (хотя это было приложение с графическим интерфейсом и скрытой панелью компонентов браузера). На самом деле вы можете взять любой механизм компоновки и вырезать логику вывода. Навигация должна выполняться с помощью событий, похожих на сценарии.

Вы можете использовать лом . Это безголовая версия Firefox (движок Gecko). Он превращает браузер в RESTful-сервер, который может принимать запросы («получить URL»). Таким образом, он анализирует HTML, представляет его как DOM, ожидает заданную задержку для всех выполненных сценариев.

Работает на Linux. Я полагаю, вы можете легко расширить его для своей цели, используя JS и богатые возможности XULrunner.

17
ответ дан Andy Gee 26 November 2019 в 21:20
поделиться

iMacros для Linux позволяет создавать скрипты для Firefox и Chrome: http://wiki.imacros.net/Linux

-1
ответ дан JeffMiller 5 July 2019 в 05:14
поделиться

Это никогда не будет очень быстро, так как у вас, вероятно, будет несколько промахов кэша, вам придется либо перейти к одной матрице с большим шагом, либо к другой, не избежать этого. Проблема здесь в том, что компьютер любит, чтобы последовательные обращения к памяти были близки друг к другу, что в вашем алгоритме не является случаем индексации array_a пропусков по элементам высоты за раз из-за члена высоты col . Чтобы исправить, что вы можете переключиться вокруг th для петель, но тогда у вас будет та же проблема с шириной (высота-1 -строка) член в array_b.

Вы можете переписать один из массивов в соответствии с порядком другого, но тогда у вас будет точно такая же проблема в коде, который переписывает, таким образом, это зависит от того, нужно ли вам делать такого рода вещи более одного раза на одних и тех же данных, если да, то имеет смысл сначала переписать одну из матриц, как Poita_ описано, иначе лучше оставить алгоритм как есть.

-121--3554039-

Я не знаю, как делать флэш-взаимодействия (и мне также интересно), но для html/javascript можно использовать Kickenfoot .

И чтобы получить безголовый + скриптовый браузер, работающий на Linux, вы можете использовать Qt webkit library . Вот пример использования .

1
ответ дан 26 November 2019 в 21:20
поделиться
Другие вопросы по тегам:

Похожие вопросы: