【问题标题】:How to write xpath which have multiple values (two lines) in label如何编写标签中具有多个值(两行)的xpath
【发布时间】:2020-08-05 08:37:11
【问题描述】:

我试过了,

//label[text()='Legal Business Nam (你可以在你的后面加一个DBA 帐户已打开)']

//label[text()='Legal Business Name' and '(可以在后面加一个DBA 您的帐户已打开)']

但不起作用。

<div class="form-group col-md-12"><label>Legal Business Name (you can add a DBA after your account is open )</label><input type="text" class="form-control required" placeholder="Enter legal business name" name="company_name" maxlength="250" value=""><label id="company_name-error" class="help-block text-danger validation-error" for="company_name"></label></div>

【问题讨论】:

标签: java selenium selenium-webdriver xpath webdriverwait


【解决方案1】:

您可以尝试使用. 而不是text()

//label[contains(., 'Legal Business Name (you can add a DBA after your account is open )')]

或者像这样加入 2 个[contains(text(), '')] 语句:

//label[contains(text(), 'Legal Business Name ')][contains(text(), '(you can add a DBA after your account is open )')]

【讨论】:

    【解决方案2】:

    看来你已经够近了。您需要使用contains() 而不是text(),如下所示:

    //label[contains(., 'you can add a DBA after your account is open')]
    

    理想情况下,您必须为visibilityOfElementLocated() 诱导WebDriverWait,您可以使用以下基于Locator Strategy

    new WebDriverWait(driver, 20).until(ExpectedConditions.visibilityOfElementLocated(By.xpath("//label[contains(., 'you can add a DBA after your account is open')]")))
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2015-07-25
      • 1970-01-01
      • 2012-01-31
      • 2014-12-31
      相关资源
      最近更新 更多