fix select2 multi-select (#656)

This commit is contained in:
LawyZheng
2024-07-29 23:40:13 +08:00
committed by GitHub
parent 8309312956
commit 112269ce1d
2 changed files with 3 additions and 7 deletions

View File

@@ -648,16 +648,12 @@ async function getSelect2OptionElements(element) {
while (true) {
oldOptionCount = optionList.length;
let newOptionList = document.querySelectorAll(
"[id='select2-drop'] li[role='option']",
);
let newOptionList = document.querySelectorAll("[id='select2-drop'] ul li");
if (newOptionList.length === oldOptionCount) {
console.log("no more options loaded, wait 5s to query again");
// sometimes need more time to load the options, so sleep 10s and try again
await sleep(5000); // wait 5s
newOptionList = document.querySelectorAll(
"[id='select2-drop'] li[role='option']",
);
newOptionList = document.querySelectorAll("[id='select2-drop'] ul li");
console.log(newOptionList.length, " options found, after 5s");
}

View File

@@ -426,7 +426,7 @@ class Select2Dropdown(AbstractSelectDropdown):
self, index: int, timeout: float = SettingsManager.get_settings().BROWSER_ACTION_TIMEOUT_MS
) -> None:
anchor = await self.__find_anchor(timeout=timeout)
options = anchor.locator("li[role='option']")
options = anchor.locator("ul").locator("li")
await options.nth(index).click(timeout=timeout)