当前位置: 首页 > 知识库问答 >
问题:

为什么getattirbute(“必需”)在selenium中始终为真?

东方涛
2023-03-14

//[input type=“text”placeholder=“First Name”class=“form control”ng model=“FirstName”必填项]
下面是我的代码

elemntvalue=驱动程序。FindElement(By.XPath(//input[@placeholder='First Name']);

字符串名称required=elemntvalue。GetAttribute(“必需”);

我是否传递数据或不命名总是正确的。有没有其他方法来捕获硒中所需的字段错误消息??

共有1个答案

况喜
2023-03-14

在Selenium中没有其他方法,但您需要使用您的语言(Java、C#)来处理它

    string nameRequired = elemntvalue.getAttribute("required");
    if (nameRequired == null) {
       //Means "required" attribute is not set OR name element is not a required field
    } else if (nameRequired.contains("true")) {
       //Means "required" attribute is set OR name element is a required field
    } else {
       //If it has any value then do something as required
    }

获取元素的给定属性的值。将返回当前值,即使该值在页面加载后已被修改。

更确切地说,此方法将返回具有给定名称的属性的值(如果存在)。如果没有,则返回具有给定名称的属性的值。如果两者都不存在,则返回null。

“style”属性将尽可能转换为带有尾随分号的文本表示形式。

以下属性被视为“布尔”属性,并将返回“true”或null:异步、自动聚焦、自动播放、选中、压缩、完成、控件、声明、默认选中、默认选中、延迟、禁用、可拖动、结束、formnovalidate、隐藏、不确定、iscontenteditable、ismap、itemscope、循环、多重、静音、nohref、,noresize、noshade、novalidate、nowrap、open、paused、pubdate、readonly、required、reversed、Scope、无缝、seeking、selected、truespeed、willvalidate

最后,按预期评估以下通常大写错误的属性/属性名称:

如果给定的名称是"class",则返回"class Name"属性。

如果给定名称为“readonly”,则返回“readonly”属性。

注意:这种行为的原因是用户经常混淆属性和属性。如果您需要执行更精确的操作,例如,即使存在同名的属性,也要引用属性,那么您应该对Javascript求值以获得所需的结果。

参数:name-属性的名称。

返回:属性/属性的当前值,如果未设置该值,则返回null。

 类似资料:
  • 问题内容: 我试图了解Swift类中关键字的使用。 不会强迫我在子类中实现该方法。如果我要重写指定初始化我的父类的我需要写和不。我知道它是如何工作的,但不明白为什么我应该这样做。 有什么好处?据我所知,像C#这样的语言没有这样的东西,并且可以很好地工作。 问题答案: 实际上,这只是使编译器满意的一种方法,可以确保该类如果具有任何子类,它们将继承或实现相同的初始化程序。在这一点上存在疑问,因为这样的

  • 问题内容: 我们都知道,为了调用,必须将此调用放置在同步块中,否则将引发。但是,进行此限制的原因是什么?我知道这释放了监视器,但是为什么我们需要通过使特定的块同步来显式获取监视器,然后通过调用来释放监视器? 如果可以在同步块之外调用并保留其语义-挂起调用者线程,可能造成什么损害? 问题答案: 只有在还存在时,才有意义,因此它始终与线程之间的通信有关,并且需要同步才能正常工作。有人可能会争辩说这应该

  • 问题内容: 为什么必须始终在Java中初始化局部变量(包括基元)?为什么相同的实例变量不适用? 问题答案: 基本上,要求在读取变量之前为其分配值是一件好事。这意味着您不会意外阅读您不想要的内容。是的,变量可以具有默认值-但如果编译器可以证明您正在尝试读取尚未分配的内容,那么编译器是否可以捕获错误不是更好吗?如果要为局部变量提供默认值,则始终可以显式分配。 现在,对于局部变量来说,这很好-但是对于实

  • 问题内容: 部分应用程序很酷。无法提供哪些功能? 是更有效还是更易读? 问题答案: 无法提供哪些功能? 在额外功能方面并没有太多(但是,请参阅稍后)–可读性在旁观者的眼中。 大多数熟悉函数式编程语言的人(尤其是系列的人)看起来都lambda很好–我说“大多数”,绝对不是全部,因为和我肯定是“熟悉”的人(等) 却被认为是lambdaPython中的一个令人眼花eyes乱的异常…… 他为曾经接受过Py

  • 这里我的问题是在关闭连接对象时,在以下情况下会出现什么问题。 > 假设没有发生异常,在try块中它会自动关闭连接对象。 如果发生某些异常,它将转到catch块,在那里它将自动关闭连接对象。 关闭finally块中的连接对象。 注意:请不要说最后块中关闭连接对象很好。我知道那个。如果我在try块中保持关闭连接,接球块是否有任何问题请解释。

  • 下面的示例类无法编译: 此代码的编译错误消息是: 但是,对于包含以下方法的类,Java不会生成任何错误消息: 关于初始化及其要求,为什么Java对最终实例变量和最终局部变量的处理不同?谢谢