簡體   English   中英

使用watir-webdriver選擇本地文件

[英]Selecting local files using watir-webdriver

我正在嘗試使用watir-webdriver自動化從html頁面中選擇本地文件的過程

我有以下HTML

<body>
<form method="post" action="upload" enctype="multipart/form-data">
test file to upload: <input type="file" name="file" size="60" id="test"/>
<input type="submit" value="Upload" name="upload" id="upload" />
</form>
</body>

我正在嘗試單擊idtest的輸入,並使用watir-webdriver設置我希望上傳的本地文件的路徑。

我可以使用以下單擊按鈕以顯示選擇窗口

@browser.goto 'http://www.test.com'
@browser.button(:id => 'test').click

但是,我試圖使用以下(從研究,這似乎是正確的方法。雖然不工作)

@browser.file_field(:name => 'file').set("C:\\path\\to\\test\\file\\validTest.xml")

這會導致以下錯誤

Watir::Exception::UnknownObjectException: unable to locate element, using {:name=>"file",    :tag_name=>"input", :type=>"file"}

@browser.button(:id => 'test').set("C:\\path\\to\\test\\file\\validTest.xml")

導致以下錯誤

NoMethodError: undefined method `set' for #<Watir::Button:0x3859920>

有人可以幫忙嗎? 我很難理解為什么file_field選項不起作用。

嘗試使用以下功能:

@browser.file_field(:id,"upload").set("filepath")

此外,如果您使用的是IE瀏覽器,請確保您使用的是IEDriverServer_Win32_2.33.0,因為它在此驅動程序上運行正常而不是最新的驅動程序。

試試這個:

@browser.file_field(:id => 'test').set("C:\\path\\to\\test\\file\\validTest.xml")

嘗試在最新的IEDriver中使用這樣的。 將文件路徑分配給變量然后進行設置

filepath = "C:\\path\\to\\test\\file\\validTest.xml"
@browser.file_field(:id,"upload").set(filepath)

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM