【问题标题】:Can't seem to get it to find the element by label - Selenium java似乎无法通过标签找到元素 - Selenium java
【发布时间】:2016-01-08 17:08:24
【问题描述】:

我正在尝试按标签查找元素,但它似乎不起作用。请让我知道出了什么问题。

driver.findElement(By.xpath("//div[@label='First Name']")).sendKeys("MY NAME");

代码如下:

<div
        data-ng-class="{ 'has-feedback has-success' : rules[0].test(user) && rules[1].test(user) && !usernameUnavailable}"
        class="form-group required">
    <label
            for="username"
            class="control-label">
        Username
    </label>
    <div data-ng-show="usernameUnavailable">
        Username unavailable
    </div>
    <input  autocomplete="off"
            data-ng-enter="usernameChange($event, change, next)"
            name="username"
            class="form-control"
            type="text"
            data-ng-model="user.username"
            data-ng-trim="true"/>

【问题讨论】:

  • @alecxe 我是新手,我不知道如何接受答案。我试图竖起大拇指,但显然我需要 15 声望才能投票。答案确实有帮助,谢谢!

标签: java selenium xpath selenium-webdriver


【解决方案1】:

//div[@label='First Name']

这没有多大意义——这意味着给我一个div 元素,它的属性 label 等于First Name。但是你有一个 label 元素 代替:

//div[label = 'First Name']

或者,如果您实际上是针对 input,请检查它的 name 属性:

//input[@name = 'username']

如果您仍想使用label,请使用following-sibling

//label[@for = 'username']/following-sibling::input 

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2022-07-05
    • 1970-01-01
    • 2020-03-31
    • 2021-10-18
    • 2017-04-14
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多