2015-01-23 5 views
1

В настоящее время я пытаюсь автоматизировать загрузку файла HTML.Автоматизация загрузки файлов с помощью Selenium Webdriver

Для того, что когда-либо причине сайт, что я пытаюсь сделать это не делает его как прямо вперед, как я хотел бы, чтобы это сделать ..

Это их код для загрузки файла DIV

<div class="form-row"> 
    <div id="fileupload" class="fileupload"> 

    <div class="c-position-relative margin-vertical10"> 
      <ul id="loaded-files" class="upload-image-thumbs clearfix loaded-placeholder"> 
       <li class="upload-placeholder upload-image"> 
          <div class="uploadedImg"></div> 
         </li> 
         <li class="upload-placeholder "> 
          <div class="uploadedImg"></div> 
         </li> 
         <li class="upload-placeholder "> 
          <div class="uploadedImg"></div> 
         </li> 
         <li class="upload-placeholder "> 
          <div class="uploadedImg"></div> 
         </li> 
         <li class="upload-placeholder "> 
          <div class="uploadedImg"></div> 
         </li> 
         <li class="upload-placeholder new-line"> 
          <div class="uploadedImg"></div> 
         </li> 
         <li class="upload-placeholder "> 
          <div class="uploadedImg"></div> 
         </li> 
         <li class="upload-placeholder "> 
          <div class="uploadedImg"></div> 
         </li> 
         <li class="upload-placeholder "> 
          <div class="uploadedImg"></div> 
         </li> 
         <li class="upload-placeholder "> 
          <div class="uploadedImg"></div> 
         </li> 
         </ul> 
      <div id="upload_btn" class="c-green-button c-rounded-corners5 c-large"> 
       Add pictures 
       <input type="file" name="file" multiple=""> 
      </div> 

Теперь я хотел бы либо отправить исходный javascript для щелчка() объекта, либо даже выбрать элемент с By.Id ('') и открыть его таким образом, но это, похоже, не сработает.

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

Ищете некоторые идеи и/или решения.

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

+0

не могли бы вы также поставить свой код селена? в вопросе –

+0

Вы попробовали это? : driver.findElement (By.id («fileupload»)). sendKeys («C: \\ Users \\ Public \\ Pictures \\ Sample Pictures \\ Desert.jpg»); - Вы можете заменить путь изображения. –

ответ

4

Для этого используйте способ .SendKeys(). , например.

var uploadBtn = WebDriver.FindElement(By.Id("upload_btn")); 
uploadBtn.SendKeys("C:\\FilePath\\File.txt"); 
Смежные вопросы