selenium webdriver .Net chrome загрузить файл

Как загрузить файл с помощью Selenium WebDriver в Chrome .NET.

Версия Chrome (20.0.1132.57). Версия хромдрайвера 22.0.1203.0b

Код:

driver.GetElement(someXpath).SendKeys(filePath)

выдает исключение:

Element is not clickable at point (144, 90.5). Other element would receive the click: <h2>...</h2>

HTML-код:

<a class="button addfile"> Upload <input class="fileupload" type="file" multiple="" name="files[]"/> </a>

person Anvar Ramazanov    schedule 12.07.2012    source источник
comment
Является ли элемент, который не доступен для кликов, отключен в какой-либо момент заранее? Если это так, возможно, вам нужно добавить команду ожидания перед вызовом SendKeys().   -  person Declan McNulty    schedule 12.07.2012
comment
этот элемент включен и виден на странице в данный момент   -  person Anvar Ramazanov    schedule 12.07.2012
comment
В FireFox этот код работал правильно, но мне нужно запустить тест в Chrome.   -  person Anvar Ramazanov    schedule 12.07.2012
comment
@AnvarRamazanov ты решил эту проблему? Я тоже только что столкнулся.   -  person James Crowley    schedule 17.07.2012
comment
как выглядит ваш XPATH?   -  person MacGyver    schedule 07.08.2012


Ответы (1)


Вы можете сделать элемент видимым с помощью JavaScript. Для элемента ввода выполните JavaScript с помощью IJavaScriptExecutor, установите видимость элемента и, на всякий случай, придайте ему некоторые размеры.

    ((JavascriptExecutor)driver).ExecuteScript("arguments[0].style.visibility = 'visible';
arguments[0].style.height = '1px'; arguments[0].style.width = '1px'; 
arguments[0].style.opacity = 1", fileUploadElement);
person Nathan Dace    schedule 26.06.2013