Webdriver: загрузка файлов

Cython может скомпилировать нормальный код python, поэтому ваш первый компилируется.

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

Запустите cython -a your_test.pyx, чтобы просмотреть аннотированную версию того, как cython будет компилировать ваш код. Желтый означает, что ваш код преобразуется в много кода C (что примерно подразумевает снижение производительности), в то время как белый означает, что он преобразуется только в несколько строк C.

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

13
задан Reflux 22 July 2010 в 01:52
поделиться

2 ответа

Вы можете установить значение поля ввода с помощью JavaScript. Учитывая, что id поля - fileName, следующий пример установит значение input в файл C:\temp\file.txt:

String script = "document.getElementById('fileName').value='" + "C:\\\\temp\\\\file.txt" + "';";
((IJavaScriptExecutor)driver).ExecuteScript(script);

В этом примере driver - это ваш экземпляр WebDriver.

Обратите внимание, что вы должны использовать четыре обратных слеша (\) для Windows-подобных путей, потому что вы должны передавать двойные обратные слеши в JavaScript, поэтому вы должны экранировать оба двумя дополнительными слешами. Другой вариант - использовать прямую косую черту (например, "C:/tmp/file.txt"), и это тоже должно сработать.

10
ответ дан 1 December 2019 в 07:18
поделиться

Вы можете сделать это без внедрения JavaScript. Вам просто нужно взять поле формы и ввести его. Что-то вроде (с использованием Ruby API):

driver.find_element(:id, 'upload').send_keys('/foo/bar')
20
ответ дан 1 December 2019 в 07:18
поделиться
Другие вопросы по тегам:

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