当前位置: 首页 > 面试题库 >

如何检查c#selenium驱动程序中是否存在Element

宗政海
2023-03-14
问题内容

因此,我有使用Firefoxseleniumwebdriers的c#winform。

基本上我需要它来检查元素是否存在以及是否不单击其他元素。如果有视频,观看后会变成W_VIEWED

这是我到目前为止所得到的

driver.FindElement(By.XPath("//div[@class='video']/a")).Click();
else {
          driver.FindElement(By.XPath("//div[@class='W_VIEWED']/a")).Click();
     }

错误3仅赋值,调用,递增,递减,等待和新对象表达式可以用作语句242

C#selenium的新种类。谢谢你的帮助。


问题答案:

您可以检查元素出口或不使用

bool isElementDisplayed = driver.findElement(By.xpath("element")).isDisplayed()

请记住,findElement如果找不到元素,则会引发异常,因此您需要正确处理它。

在我的一个应用程序中,我通过检查单独函数中的元素来处理异常,

    private bool IsElementPresent(By by)
    {
        try
        {
            driver.FindElement(by);
            return true;
        }
        catch (NoSuchElementException)
        {
            return false;
        }
    }

通话功能

            if (IsElementPresent(By.Id("element name")))
            {
                //do if exists
            }
            else
            {
                //do if does not exists
            }


 类似资料:
  • 问题内容: 我想检查Selenium中是否存在一个元素,如果存在,请将其分配给一个名称。 现在,我有这样的东西: 但是,当不存在值为9的元素时,它将返回错误。有没有一种方法可以检查它是否存在,或者类似的东西? 问题答案: 有几种选择。我推荐这些。 1.创建方法或Web驱动程序扩展。 2.计算元素,如果有1个或更多元素,则获取它。 那你可以检查

  • 问题内容: 在我的代码中的某些情况下,只有在定义了该函数的情况下,我最终才调用该函数,否则我不应该调用该函数。我怎样才能做到这一点? 提出此问题的另一种方法可能是:如何确定函数是否在运行时定义,如果是,则调用。 问题答案: 尽管其他答复是有用的建议(,函数指针等),但是您 不能编译 引用不存在的函数的C ++代码。至少必须 声明 函数;如果不是,您的代码将无法编译。如果没有任何内容(编译单元,某些

  • 问题内容: 我想知道,是否有一种方法可以检查mongoDB服务器是否正在从Java驱动程序中运行mongoDB? 根据教程,我可以做 但是如何检查我可以使用这些Mongo和DB?我在API中看不到isConnected()方法。 返回true 我发现的唯一方法是调用db.getDatabaseNames()并捕获MongoException。 是否有一些更文明的做法? 问题答案: 是否有一种方法可

  • 我想确定C 11中是否存在一个文件 我有以下代码: 和 哪一个是正确的和惯用的?

  • 问题内容: 我有一个问题-我正在使用Selenium(firefox)Web驱动程序打开网页,单击一些链接等,然后捕获屏幕截图。 我的脚本可以从CLI正常运行,但是通过cronjob运行时,它并没有通过第一个find_element()测试。我需要添加一些调试,或一些帮助我弄清为什么失败的东西。 基本上,我必须先单击“登录”锚点,然后才能进入登录页面。元素的构造为: 我正在通过LINK_TEXT方