1

I'm getting attached error in SeleniumVBA while trying to write a code to upload a file in internal website. Could you please help how can i rectify it.

I'm trying to login into a website and upload a file from a source to download the data, but when i am sending path to file as sendkeys and running the code, It gives me an error

Its the last line where i am asking to send keys to upload file, which is causing an error.

enter image description here

Option Explicit
Dim mydriver As New Selenium.WebDriver


Sub openrtweb()

Dim login_ As String
Dim password_ As String
Dim file_to_send As String
Dim FindBy As New Selenium.By
Dim button As Selenium.WebElement
Dim upload_ As Selenium.WebElement



mydriver.Start "chrome"
mydriver.Get "http://rtweb/login/"

login_ = Sheet1.Range("B1").Text
password_ = Sheet1.Range("B2").Text
file_to_send = "D:\Ecommerce\Excel Experiments\SOH\1. TBL Flash Sales sha- STK.txt"

AppActivate ("CHROME")

mydriver.FindElementByName("ctl00$ContentPlaceHolder1$txtUsername").SendKeys login_
mydriver.FindElementByName("ctl00$ContentPlaceHolder1$txtPassword").SendKeys password_
mydriver.Wait 1000
mydriver.FindElementByName("ctl00$ContentPlaceHolder1$btnLogin").Click

mydriver.Get "http://rtweb/cr-mis-report/"

'mydriver.FindElementByName("UploadFile2", 1000).Click
'mydriver.FindElementByXPath("//input[@name='UploadFile2']", 1000).SendKeys file_path

Set button = mydriver.FindElementByCss("//input[@name=""UploadFile2""]")
button.SendKeys file_to_send



'"//input[@name='UploadFile2']",1000

End Sub

1 Answer 1

1

Your problem is here:

Set button = mydriver.FindElementByCss("//input[@name=""UploadFile2""]")

"//input[@name=""UploadFile2""]" is XPath expression, not CSS Selector.
So, please change it to:

Set button = mydriver.FindElementByCss("input[name='UploadFile2']")

Or

Set button = mydriver.FindElementByXpath("//input[@name='UploadFile2']")
Sign up to request clarification or add additional context in comments.

1 Comment

Great to hear that 😀

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Start asking to get answers

Find the answer to your question by asking.

Ask question

Explore related questions

See similar questions with these tags.