【问题标题】:How to check if a label is bold with Selenium WebDriver using Java?如何使用 Java 使用 Selenium WebDriver 检查标签是否为粗体?
【发布时间】:2016-11-24 23:43:13
【问题描述】:

请在下面找到示例 HTML 代码:

<div class="form-element email-address" id="gmail-address-form-element">
  <label id="gmail-address-label">
  <strong>
  Choose your username
  </strong>
  <input type="text" maxlength="30" autocomplete="off"  
  name="GmailAddress" id="GmailAddress" value=""
spellcheck="false">
  <span class="atgmail">@gmail.com</span>
  </label>

我需要使用 Selenium WebDriver 验证“选择您的用户名”标签是否为粗体。 如果使用的语言是java,请欣赏。

【问题讨论】:

标签: java selenium selenium-webdriver


【解决方案1】:

您可以使用getComputedStyle 来获取元素的样式。

使用font-Weight检查是否为粗体

    JavascriptExecutor js = (JavascriptExecutor) driver;
    WebElement element = driver.findElement(By.cssSelector("#gmail-address-label > strong"));
    String fontWeight = (String) js.
            executeScript(
                    "return getComputedStyle(arguments[0]).getPropertyValue('font-Weight');",
                    element);
    if (fontWeight.trim().equals("bold")) {
        System.out.println("Is Bold");
    } else {
        System.out.println("Not Bold - " + fontWeight);
    }

【讨论】:

    【解决方案2】:

    通过简单的方法,我们可以得到 font-weight 的 CssValue 并检查它是 'bold' 还是大于等于 700 或者是 'bolder' 。因为通过所有这些方式可以给文本加粗样式 在java中使用以下代码

     String fontWeight = driver.findElement(By.className("classname"))
                                              .getCssValue("font-weight");
    
     boolean isBold = "bold".equals(fontWeight) || "bolder".equals(fontWeight) || Integer.parseInt(fontWeight) >= 700;
    

    希望它会有所帮助。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2018-06-11
      • 2017-02-26
      • 2016-10-29
      • 2017-12-08
      • 2012-01-04
      • 1970-01-01
      • 2012-04-22
      • 2019-12-10
      相关资源
      最近更新 更多