场景: 选择颜色,输入其他详细信息并保存。 当我点击html元素color (input type=color)时,它会打开一个颜色选择器,这是一个弹出窗口。
<input type="color" class="form-control ng-pristine ng-valid ng-empty ng-touched" style="width: 70%;" ng-model="modalData[0].StrokeColor" placeholder="color" aria-invalid="false">
这是我的html元素。
元素的默认值为null。如果不选择颜色,我无法保存此表单。 我尝试使用js命令来设置元素的值。
document.getElementsByClassName('form-control ng-valid ng-touched ng-not-empty ng-dirty ng-valid-parse')[0].setAttribute('value', '#32CD32')
这改变了颜色的值,但对UI或保存没有影响。
我该怎么办,我不擅长脚本。任何帮助。 谢了。
尝试以下代码
JavascriptExecutor js = (JavascriptExecutor) w;
WebElement ColorElement =w.findElement(By.cssSelector("input[type='color']"));
js.executeScript("arguments[0].setAttribute('value', '#FF0000')",ColorElement);
对我来说只是打电话。web元素上的sendKeys(# ff 0000)与Selenium 4 + Chrome协同工作。
我在python中遇到了同样的问题。除了选择颜色,我还需要在调色板中执行模拟的用户操作。行动链帮助了我。
action = ActionChains(self.driver)
element = self.find_element(locator)
element.click()
for i in range(3):
action.send_keys(Keys.TAB)
for n in range(3):
action.send_keys(5)
action.send_keys(Keys.TAB)
action.perform()
[palette in my chrome][1]
[1]: https://i.stack.imgur.com/yWS4V.png
[2]: https://i.stack.imgur.com/mYVmc.png