我试图在python中打开与selenium的手风琴链接。
关闭时元素如下所示:
<div class="crm-accordion-body" style="display: none;">
这时打开:
<div class="crm-accordion-body" style="display: block;">
我试图用来改变风格的代码是:
driver.execute_script("document.getElementsByClassName('crm-accordion-body').style.display = 'block';")
这会产生以下错误:
WebDriverException: Message: unknown error: Cannot set property 'display' of undefined
(Session info: chrome=61.0.3163.100)
(Driver info: chromedriver=2.33.506120 (e3e53437346286c0bc2d2dc9aa4915ba81d9023f),platform=Windows NT 6.1.7601 SP1 x86_64)
任何人都知道我做错了什么?
感谢。
答案 0 :(得分:1)
基本上,document.getElementsByClassName('crm-accordion-body')
返回节点列表。所以我们必须使用索引来获取预期的节点,如下所示:
document.getElementsByClassName('btn-pageMenu')[0].style.display
因此,当我们尝试更改第一个节点的style="display: none;"
时,请尝试以下代码行:
driver.execute_script("document.getElementsByClassName('crm-accordion-body')[0].style.display='block';")