Selenium Webdriver で file 属性にアクセスする
結果
例えば下のように書かれているフォームにアクセスしようとして
<input type="file" name="upFile" size="50" />
下の様に書いてもうまく動かなかった.
driver.findElement(By.name("upFile").sendKeys("./img/hoge.png"));
下のように書いたらうまくいった.
WebElement element = driver.findElement(By.xpath("//input[@type='file']")); element.sendKeys("./img/hoge.png");
参考:http://stackoverflow.com/questions/9726005/
補足
ファイルのアップロードを Selenium にやらせようと思って今回つまづいた.
結局何やっているかって id とか name の属性名で指定するわけじゃなくて,
文字通り XPath で指定してる.
他にも
とかあるみたいだけれど今回使った方法が一番スマートな印象.