Я использовал «заднюю дверь», чтобы заполнить имя файла в окне файлового менеджера. Поскольку курсор уже находится в поле имени файла окна, я создал внешний сценарий в VBS для записи имени файла (и 2x TAB + ENTER для проверки окна).
Ниже кода VBS file:
Set WshShell = WScript.CreateObject("WScript.Shell")
WshShell.SendKeys "D:\Test.jpg"
WshShell.SendKeys "{TAB}"
WshShell.SendKeys "{TAB}"
WshShell.SendKeys "{ENTER}"
И я выполняю этот скрипт после открытия окна менеджера файлов с селеном:
Sub Fullfil_Windows_PopUp()
Dim driver
Dim elem
' Chrome browser
Set driver = CreateObject("Selenium.ChromeDriver")
'open the browser and the page
driver.Get "https://fr.imgbb.com/"
Sleep 1000
' Open upload window
Set elem = driver.FindElementsByXPath("//*[@id='home-cover-content']/div[2]/a").Item(1)
elem.Click
' Write the filename with VBS script
Set oWsh = CreateObject("Shell.Application")
oWsh.ShellExecute "D:\filename.vbs"
Set oWsh = Nothing
Sleep 1500
End Sub
Но я продолжаю искать решение непосредственно с Selenium потому что, например, имя файла прямо указано в файле VBS, и его нелегко использовать как вариант.