javascript - 如何更改包含连字符的 HTML 属性

标签 javascript python html selenium selenium-webdriver

我想使用 execute_script 更改表头的 aria-label 属性值

目标元素的

HTML:

<th class="sorting" tabindex="0" rowspan="1" colspan="1" aria-label="Activate to sort column ascending">Company</th>

所以我尝试以下操作:

driver.execute_script('document.getElementsByTagName("th")[1].aria-label="Activate to sort column descending";')

但得到异常:

WebDriverException: Message: unknown error: Runtime.evaluate threw exception: ReferenceError: Invalid left-hand side in assignment

如果使用

driver.execute_script('document.getElementsByTagName("th")[1].["aria-label"]="Activate to sort column descending";')

得到了

WebDriverException: Message: unknown error: Runtime.evaluate threw exception: SyntaxError: Unexpected token 

那么设置 aria-label 新值的正确语句是什么?

最佳答案

因为 aria-label 是一个属性,你应该使用 .setAttribute(...) :

driver.execute_script("document.getElementsByTagName('th')[1].setAttribute('aria-label', 'Activate to sort column descending');")

关于javascript - 如何更改包含连字符的 HTML 属性,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37529938/

相关文章:

javascript - 如何从表单中的表中删除最后一行,而没有插入数据的其他行?

javascript - 如何在数组中添加和删除?

javascript - JS : show textarea field on input change

python - tensorflow + 作业库 : limited to 8 processes?

javascript - JQuery UI 嵌套 Accordion - 单击子 Accordion 关闭父 Accordion

javascript - 添加动画以填充进度条

javascript - jQuery AJAX 提交不工作

python - 如何重命名 DynamoDB 列/键

python - AWS Lambda 上的单元测试

html - 两个 float 列 - 一个固定,一个松散宽度