Я пытаюсь автоматизировать процесс выбора локального файла с HTML-страницы с помощью Watir-WebDriverВыбор локальных файлов с помощью Watir-WebDriver
я следующий HTML
<body>
<form method="post" action="upload" enctype="multipart/form-data">
test file to upload: <input type="file" name="file" size="60" id="test"/>
<input type="submit" value="Upload" name="upload" id="upload" />
</form>
</body>
Я пытаясь щелкнуть ввод с помощью id
test
и установить путь к локальному файлу, который я хочу загрузить с помощью watir-webdriver.
можно использовать следующие нажать на кнопку, чтобы открыть окно выбора с помощью
@browser.goto 'http://www.test.com'
@browser.button(:id => 'test').click
однако, я пытаюсь использовать следующее (из исследования, это, кажется, правильный путь. Не работает, хотя)
@browser.file_field(:name => 'file').set("C:\\path\\to\\test\\file\\validTest.xml")
что приводит к следующей ошибке
Watir::Exception::UnknownObjectException: unable to locate element, using {:name=>"file", :tag_name=>"input", :type=>"file"}
Tryin г
@browser.button(:id => 'test').set("C:\\path\\to\\test\\file\\validTest.xml")
приводит к следующей ошибке
NoMethodError: undefined method `set' for #<Watir::Button:0x3859920>
Может кто-нибудь помочь? Я пытаюсь понять, почему опция file_field
не работает.
Если вы получаете 'UnknownObjectException', то попробуйте' @ browser.file_field (: имя => 'файл') существует '.?. Если 'false', то возможно, что элемент не может быть локализуем (например, в фрейме, загружаем асинхронно и т. Д.). И класс '' Button' (http://www.rubydoc.info/gems/watir-webdriver/Watir/Button) не имеет метода '.set', так что ошибка является законной. – orde