長尾さん
Windows8.1 + Python2 + Selenium IDEからエクスポートしたスクリプトで、
手元でちょっとやってみました。
テスト対象HTMLは、こんな簡易ページです。
-------------------
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>sample</title>
</head>
<body>
<form action="dummy" method="post" enctype="multipart/form-data">
file:<br />
<input type="file" name="upfile" size="30" /><br />
<br />
<input type="submit" value="upload" />
</form>
</body>
</html>
-------------------
Selenium IDEからエクスポートしたスクリプトだと、
driver.find_element_by_name("upfile").clear()
driver.find_element_by_name("upfile").send_keys("ファイルパス")
となっていて、確かにclearのところで
InvalidElementStateException:
Message: invalid element state:
Element must be user-editable in order to clear it.
というエラーで落ちました。
ファイルアップロードのinputのテキストはクリアできないというエラーだと思うので、
clearを消してsend_keysだけにしたら動きました。
とかではないでしょうか?
clear版はFirefoxもChromeも同じエラーになって、
clearを消したらFirefoxもChromeも動きましたが。
Selenium IDEからエクスポートしたスクリプトがそのまま動かないのは、ちょっと微妙ですね。。
On Wednesday, January 28, 2015 at 2:01:50 PM UTC+9, tadashi nagao wrote:
長尾です。
追伸です。
Chromedriver をつかうとアップロードできました。