我想使用 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/