有没有办法使用 HandleOpenDialog 检查文件是否存在

问题描述 投票:0回答:1

我必须单击“选择文件”按钮,它会打开文件打开对话框。我需要检查文件是否存在。这是代码

public static void UploadFile(IWebDriver driver, string photoLocation, string photoName)
    {
        driver.Manage().Timeouts().ImplicitWait = TimeSpan.FromSeconds(20);
        IJavaScriptExecutor js = (IJavaScriptExecutor)driver;
        js.ExecuteScript("window.scrollTo(0, document.body.scrollHeight)");
        IWebElement element = driver.FindElement(By.XPath("//*[text() ='Choose File']"));
        driver.Manage().Timeouts().ImplicitWait = TimeSpan.FromSeconds(30);
        js.ExecuteScript("arguments[0].click();", element);           
        // using "HandleOpenDialog" to locate and upload file
        HandleOpenDialog hndOpen = new HandleOpenDialog();
        hndOpen.fileOpenDialog(photoLocation, photoName);
        Thread.Sleep(3000);
    }

如果该位置存在该文件,则此代码可以正常工作。如果它不存在,我希望代码在其他地方查找。测试卡在那里很久,测试失败。

有人可以帮我吗?

c# selenium-webdriver fileopendialog
1个回答
0
投票

首先,它看起来像 HandleOpenDialog 是您正在使用的一些内部库类(无法在搜索引擎中找到它)。

关于检查文件是否存在您可以使用 File.Exists 静态方法来做到这一点(https://learn.microsoft.com/en-us/dotnet/api/system.io.file.exists?view=net-7.0 )。

© www.soinside.com 2019 - 2024. All rights reserved.