This commit is contained in:
Josh at WLTechBlog 2025-08-18 13:55:53 -05:00
parent 7fda3a32ed
commit 166deca9f9
1 changed files with 17 additions and 14 deletions

View File

@ -3494,26 +3494,29 @@ func (d *Daemon) interactMultiple(tabID, interactionsJSON string, timeout int) (
case "select":
// For select elements, use JavaScript to set the value
script := fmt.Sprintf(`
if (this.tagName.toLowerCase() === 'select') {
// Try to select by value first
for (let option of this.options) {
if (option.value === '%s') {
this.value = '%s';
this.dispatchEvent(new Event('change', { bubbles: true }));
break;
}
}
// Try to select by text if value didn't work
if (this.value !== '%s') {
(() => {
if (this.tagName.toLowerCase() === 'select') {
// Try to select by value first
for (let option of this.options) {
if (option.text === '%s') {
this.value = option.value;
if (option.value === '%s') {
this.value = '%s';
this.dispatchEvent(new Event('change', { bubbles: true }));
break;
}
}
// Try to select by text if value didn't work
if (this.value !== '%s') {
for (let option of this.options) {
if (option.text === '%s') {
this.value = option.value;
this.dispatchEvent(new Event('change', { bubbles: true }));
break;
}
}
}
}
}
return true;
})()
`, interaction.Value, interaction.Value, interaction.Value, interaction.Value)
_, err := element.Eval(script)