3

我想上傳文件到Safari(8.0.8)使用webdriver。任何人都可以確認它有可能嗎?我正在尋找這個問題,我找不到明確的信息。如何上傳文件在Safari(MAC)上的webdriver

我的測試環境: 我在本地PC與Win7和瀏覽器開始在硒電網這是MAC機上運行(HUB +節點運行在MAC約塞米蒂10.10.5)

首先運行測試,我嘗試在MAC上傳直接文件。但它不起作用。

Browser.Driver.FindElement(By.Id("inputID")).SendKeys("/Users/administrator/Desktop/file.txt"); 

接下來,我嘗試使用LocalFileDetetor,但它也不起作用:

driver.FileDetector = new LocalFileDetector(); 
Browser.Driver.FindElement(By.Id("inputID")).SendKeys("c:\\file.txt"); 

接下來,我嘗試使用:WebDriverBackedSelenium:

ISelenium safari = new WebDriverBackedSelenium(webDriver, "http://systemname/"); 
safari.Start(); 
safari.AttachFile("xpath=//input[@id='inputID']", "e:\\file2.txt"); 

但事實並非如此也工作。堆棧跟蹤:

Selenium.SeleniumException:webdriver的拋出異常 ----> OpenQA.Selenium.InvalidElementStateException:元素必須是用戶可編輯的,以清除它。 (警告:服務器沒有提供任何堆棧跟蹤信息) 命令持續時間或超時:7毫秒 構建信息:版本:'2.47.1',修訂版:'411b314',時間:'2015-07-30 03:03: 16' 系統信息:host:'mac.domain.company.com',ip:'192.168.136.67',os.name:'Mac OS X',os.arch:'x86_64',os.version:'10 .10 .5',java.version:'1.8.0_51' 驅動程序信息:org.openqa.selenium.safari.SafariDriver Capabilities [{browserName = safari,takesScreenshot = true,javascriptEnabled = true,version = 8.0.8,cssSelectorsEnabled = true,platform = MAC,secureSsl = true}] 會話ID:null

它不工作,因爲它是Safari或有問題無線th網格/ safari /遠程主機或文件路徑(用/)?

+0

它不是文件路徑的問題,我認爲它的Safari不支持 – dy20082250

回答

0

可以使用OSAScript上傳。請執行下列操作:

  1. 在Mac與下面的代碼 activate application "Safari" tell application "Safari" tell document 1 do JavaScript "document.getElementsByTagName('label')[0].click()" delay 2 end tell end tell tell application "System Events" keystroke "G" using {command down, shift down} delay 2 keystroke "/Users/melamc/Downloads/upload.jpeg" delay 2 keystroke return delay 2 keystroke return delay 2 end tell
  2. 觸發創建.scpt文件這個文件在需要時你(寫代碼來運行這個文件programetically

我希望這將幫助你,試着讓我知道

相關問題