selenium 选择器无效错误:Selify VBA

nc1teljy  于 2022-11-10  发布在  其他
关注(0)|答案(1)|浏览(113)

我在SeleniumVBA中尝试编写代码上传内部网站中的文件时遇到附加错误。你能帮帮我吗?我怎么才能改正它呢?
我正在尝试登录网站并从源上传文件以下载数据,但当我将文件的路径作为发送密钥发送并运行代码时,它给我一个错误
这是我要求发送密钥以上传文件的最后一行,这会导致错误。

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
8yoxcaq7

8yoxcaq71#

你的问题在这里:

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

"//input[@name=""UploadFile2""]"是XPath表达式,而不是css选择器。
因此,请将其更改为:

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

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

相关问题