場(chǎng)景: 選擇顏色,輸入其他詳細(xì)信息并保存。 當(dāng)我點(diǎn)擊html元素color (input type=color)時(shí),它會(huì)打開一個(gè)顏色選擇器,這是一個(gè)彈出窗口。
<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元素。
元素的默認(rèn)值為null。如果不選擇顏色,我無(wú)法保存此表單。 我嘗試使用js命令來(lái)設(shè)置元素的值。
document.getElementsByClassName('form-control ng-valid ng-touched ng-not-empty ng-dirty ng-valid-parse')[0].setAttribute('value', '#32CD32')
這改變了顏色的值,但對(duì)UI或保存沒有影響。
我該怎么辦,我不擅長(zhǎng)腳本。任何幫助。 謝了。
嘗試以下代碼
JavascriptExecutor js = (JavascriptExecutor) w;
WebElement ColorElement =w.findElement(By.cssSelector("input[type='color']"));
js.executeScript("arguments[0].setAttribute('value', '#FF0000')",ColorElement);
對(duì)我來(lái)說(shuō)只是打電話。web元素上的sendKeys(# ff 0000)與Selenium 4 + Chrome協(xié)同工作。
我在python中遇到了同樣的問(wèn)題。除了選擇顏色,我還需要在調(diào)色板中執(zhí)行模擬的用戶操作。行動(dòng)鏈幫助了我。
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