在蟒蛇中用硒打开手风琴

时间:2017-11-04 21:17:08

标签: python selenium

我试图在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)

任何人都知道我做错了什么?

感谢。

1 个答案:

答案 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';")