selenium 是否有一种方法来检查文件是否存在使用HandleOpenDialog

aurhwmvo  于 2023-06-29  发布在  其他
关注(0)|答案(1)|浏览(201)

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

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);
    }

如果该位置中存在该文件,则此代码可以正常工作。如果它不存在,我希望代码查找其他地方。测试卡在那里很长时间,测试失败。
有人能帮帮我吗?

yftpprvb

yftpprvb1#

首先,它看起来像HandleOpenDialog是您正在使用的一些内部库类(无法在搜索引擎中找到它)。
关于检查文件是否存在你可以通过使用File.Exists静态方法(https://learn.microsoft.com/en-us/dotnet/api/system.io.file.exists?view=net-7.0)来完成。

相关问题