Home > Mobile >  Invalid selectorError: Selenium VBA
Invalid selectorError: Selenium VBA

Time:10-19

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

CodePudding user response:

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']")
  • Related