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

如何为字段编写xpath并验证字段

胡修伟
2023-03-14
<div class="line info">
            <div class="unit labelInfo TextMdB">
                Reference #:
            </div>
            <div class="unit lastUnit">
               701
            </div>
        </div>      

    </div>

<div class="line info">
                <div class="unit labelInfo TextMdB">
                    Registered Date:
                </div>
                <div class="unit lastUnit">
                    05/05/2020
                </div>
            </div>

共有1个答案

秦鸿羽
2023-03-14

您可以首先在xpath中使用reference#文本,然后使用following-sibling获取div标记,然后使用gettext()(java)/text(python)方法获取701

(在OP的评论后编辑的回答)
如果您想检查该元素是否显示在页面上,那么您可以获取它的列表,并检查该列表的大小是否大于0。

您可以这样做:

在Java中:

List<WebElement> elementList = driver.findElements(By.xpath("//div[@class='line info']//div[contains(text(),'Reference #')]//following-sibling::div"));
if(elementList.size()>0){
    // Element is present on the UI
    // Finding its text
    String text = elementList.get(0).getText();
}

在Python中:

elementList = driver.find_elements_by_xpath("//div[@class='line info']//div[contains(text(),'Reference #')]//following-sibling::div")
if (elementList.len>0):
    # Element is present
    # Printing its text
    print(elementList[0].text)
 类似资料:
  • 数据库字段约束 模型验证允许你为模型的每个属性指定格式/内容/继承验证. 验证会自动运行在create,update和save上. 你也可以调用validate()手动验证一个实例. class ValidateMe extends Model {} ValidateMe.init({ bar: { type: Sequelize.STRING, valid

  • 问题内容: 我正在使用vaadin进行Java项目。现在,我有一个用户注册表格,看起来像这样: 当然,该表单除了显示之外不做任何其他事情。我想做的是,如果不满足某些要求,请让Vaadin在字段旁边显示错误消息。要求本身并不那么重要(假设我希望电子邮件字段至少包含8个字符)。我想知道的是:有没有简单的内置方法可以做到这一点?我在这里:https : //vaadin.com/api/com/vaad

  • 我有以下请求json 我试图验证这个json,我的要求是,如果ParameterB存在,那么里面肯定会有一个列表shd存在,否则ParameterB是可选的。例如,如果ParameterB本身只是不存在,那么shd不是一个问题。 我正在寻找相同的java验证注释。我在key和value上使用了@NotNull,但不能决定在ParameterB上使用什么,因为它是list所在的数组 我在Parame

  • 作用 验证给定字符串是否满足指定条件,一般用在表单字段验证里。 此类中全部为静态方法。 使用 判断验证 直接调用Validator.isXXX(String value)既可验证字段,返回是否通过验证。 例如: boolean isEmail = Validator.isEmail("loolly@gmail.com") 表示验证给定字符串是否复合电子邮件格式。 其他验证信息请参阅Validat

  • 问题内容: 通过AngularJS,我可以使用或检测用户是否输入了该字段。但是,我只想在用户离开字段区域之后进行客户端验证。这是因为,当用户输入电子邮件或电话之类的字段时,他们总是会抛出错误,直到他们完成完整的电子邮件键入为止,这并不是最佳的用户体验。 例 更新: Angular现在附带了一个自定义模糊事件:https : //docs.angularjs.org/api/ng/directive

  • 我想验证字段,如果存在,将失败,如果另一个字段不存在如何做到这一点?我已经创建了自定义验证,以获得基于存储ID的记录 我有字段和,并且字段根据在最大值和最小值之间进行验证,如果我显示=且未填写字段,则验证字段将通过,并显示错误,因为我未填写我希望在执行自定义验证之前检查是否为空。。 我已经阅读了laravel文档上的所有验证方法,但仍然没有找到解决方案。怎么做?