gpt4 book ai didi

java - Selenium 无法检测 SAP 表内的颜色

转载 作者:行者123 更新时间:2023-12-02 04:59:51 25 4
gpt4 key购买 nike

我有一张表格,其颜色代表工作日以及假日或公共(public)假期。目前,我需要我的机器人忽略公共(public)假期和假日,以便我完成此任务是找到标题的颜色,机器人可以通知要插入哪个字段以及要避免哪个字段。但目前机器人无法给我 RGB 颜色,即使我已经尝试了 stackoverflow 中的代码和一些解决方案。

包含不同颜色的示例表头 enter image description here

<div id="__cell1" class="ZZBlockLayoutCell sapUiBlockHorizontalCell sapUiBlockLayoutCell sapUiBlockLayoutEvenCell" style="-webkit-flex:1;-ms-flex:1;flex:1" data-sap-ui="__cell1">
<div class="sapUiBlockCellContent " aria-labelledby="__cell1-Title">
<div id="__xmlview1--ZZDay1" class="sapMFlexBox sapMFlexBoxAlignContentStretch sapMFlexBoxAlignItemsStretch sapMFlexBoxBGTransparent sapMFlexBoxJustifyStart sapMFlexBoxWrapNoWrap sapMVBox ZZCalendarDateType01" style="height:100%" data-sap-ui="__xmlview1--ZZDay1">
<div id="__data278" class="sapMFlexBoxBGTransparent sapMFlexItem sapMFlexItemAlignAuto" style="order:0;flex-grow:0;flex-shrink:1;flex-basis:auto;min-height:auto;min-width:auto">
<div id="__data279" class="sapMFlexBoxBGTransparent sapMFlexItem sapMFlexItemAlignAuto" style="order:0;flex-grow:0;flex-shrink:1;flex-basis:auto;min-height:auto;min-width:auto">
</div>
</div>
</div>

我在 stackoverflow 中进行了搜索,大多数答案都给了我相同的方法,但我仍然无法获取它的颜色

在我尝试运行此代码后,表中的结果如下

for (int i = 1; i < 8; i++) {
WebElement ColorMonToSun = driver.findElement(By.id("__cell"+i));
System.out.println(ColorMonToSun.getCssValue("background-color"));
}

结果

rgba(0, 0, 0, 0)
rgba(0, 0, 0, 0)
rgba(0, 0, 0, 0)
rgba(0, 0, 0, 0)
rgba(0, 0, 0, 0)
rgba(0, 0, 0, 0)
rgba(0, 0, 0, 0)


for (int i = 1; i < 8; i++) {
WebElement ColorMonToSun = driver.findElement(By.id("__xmlview1--ZZDay"+i));
System.out.println(ColorMonToSun.getCssValue("background-color"));
}

结果

rgba(0, 0, 0, 0)
rgba(0, 0, 0, 0)
rgba(0, 0, 0, 0)
rgba(0, 0, 0, 0)
rgba(0, 0, 0, 0)
rgba(0, 0, 0, 0)
rgba(0, 0, 0, 0)

SAP网页是否有一些不同的方法来获取颜色?任何解决方案都会有很大的帮助,谢谢!

最佳答案

我已经找到了这个问题的解决方案,它需要有一些小的延迟才能让 Selenium 检测到它的颜色,我尝试了这个代码,它设法找到了颜色,如果没有延迟,selenium 将无法检测到颜色颜色。

主类

for (int i = 1; i < 8; i++) {

//Click Related Day
sleep(1000);
WebElement ColorMonToSun = driver.findElement(By.id("__xmlview1--ZZDay"+i));
sleep(1000);
System.out.println(ColorMonToSun.getCssValue("background-color"));
}

配置类

public static void sleep(long duration) {
try {
Thread.sleep(duration);
} catch (InterruptedException e) {
e.printStackTrace();
}
}

结果

rgba(252, 234, 234, 1)
rgba(252, 234, 234, 1)
rgba(252, 234, 234, 1)
rgba(252, 234, 234, 1)
rgba(252, 234, 234, 1)
rgba(229, 229, 229, 1)
rgba(229, 229, 229, 1)

关于java - Selenium 无法检测 SAP 表内的颜色,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56392169/

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