gpt4 book ai didi

java - Selenium WebElement getCssValue 背景颜色被歪曲?

转载 作者:塔克拉玛干 更新时间:2023-11-02 19:28:41 24 4
gpt4 key购买 nike

我正在使用 Selenium Webdriver 对基于 javascript 的 Web 应用程序进行自动化功能测试。javascript 代码 (knockout.js) 将 SELECT 下拉列表的一个 OPTION 元素设置为不同的颜色 #FFFFCC,即 rgba(255, 255, 204, 1)(浅黄色)(经 Firebug 验证)。

我的selenium使用代码如下:

    Select select = new Select(driver.findElement(By.id("views"))); // get the select
List<WebElement> allOptions = select.getOptions(); // get all the options

for (WebElement option : allOptions) { //iterate over the options
if (option.getCssValue("background-color").compareToIgnoreCase("rgba(255, 255, 204, 1)") == 0) {
// do something
}
}

但是 if 语句总是失败。当我对 option.getCssValue("background-color") 的值执行 system.out.println() 时,它会为我的所有选项元素和 'rgba(51, 153, 255, 1)' 用于我修改后的选项元素,转换为十六进制时为 #3399FF(蓝色)。

为什么 selenium 报告此元素的十六进制值不正确?

最佳答案

关于为什么会出现这个问题,我有一个很好的理论,而且它似乎可以重现。

蓝色是用鼠标突出显示时元素背景的颜色。 Selenium 似乎选择了那种颜色,而不是下拉选项的实际背景颜色。

也许我应该将其作为错误或意外功能报告给开发人员。

关于java - Selenium WebElement getCssValue 背景颜色被歪曲?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17728623/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com