2012-07-12 159 views
3

如何在Chrome .NET中使用Selenium WebDriver上傳文件selenium webdriver .net chrome上傳文件

版本Chrome(20.0.1132.57)。版本chromedriver 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> 
+0

預先在任何時間點不可點擊的元素是否被禁用?如果是這樣的話,你可能需要在SendKeys()之前添加一個等待命令() – 2012-07-12 10:14:39

+1

這個元素在這個時候啓用並且在頁面上可見 – 2012-07-12 10:20:22

+1

在FireFox中這段代碼正常工作,但我需要在Chrome中運行我的測試 – 2012-07-12 10:31:52

回答

2

您可以強制元素可見使用JavaScript。對於輸入元素,使用IJavaScriptExecutor執行JavaScript,並將元素的可見性設置爲可見,並且爲了好的度量,給它一些尺寸。

((JavascriptExecutor)driver).ExecuteScript("arguments[0].style.visibility = 'visible'; 
arguments[0].style.height = '1px'; arguments[0].style.width = '1px'; 
arguments[0].style.opacity = 1", fileUploadElement); 
相關問題