我正在使用python selenium并且需要访问元素,标签是“thisis2ndID”并启用复选框?
<h3 class="activator"> … </h3>
<div class="accordion-panel">
<ul>
<li class="field">
<input id="thisis1stID" type="checkbox" name=""></input>
<label for="thisis1stID"> … </label>
</li>
<li class="field">
<input id="thisis2ndID" type="checkbox" name=""></input>
<label for="thisis2ndID"> … </label>
</li>
<li class="field">
<input id="thisis3rdID" type="checkbox" name=""></input>
<label for="thisis3rdID"> … </label>
</li
尝试了这些,但它们似乎不起作用......
browser.find_element_by_id('main-id').click()
browser.find_element_by_xpath("//div[@class='accordion-panel']")
browser.find_element_by_id(thisis2ndID').is_selected()
任何想法?
答案 0 :(得分:1)
我已经通过几种不同的方式完成了这项工作,但您的最佳方法是迭代所有li
代码并搜索您要查找的id
值,试试这个
browser.find_element_by_xpath("//div[@class='accordion-panel']")
for i in browser.find_elements_by_tag_name("li"):
...
答案 1 :(得分:1)
如果在python中有使用cssSelector查找元素的规定,则下面的选择器和click()事件将启用复选框....
"div.accordion-panel li.field+li.field>#thisis2ndID"
我只使用java,所以我无法在python中提供确切的代码..
you can click here to know more about different kind of selectors
答案 2 :(得分:0)
这很有用......对于混乱,需要点击激活器来加载子选项......
browser.find_element_by_class_name('activator').click()
browser.find_element_by_xpath("//div[@class='accordion-panel']")
browser.find_element_by_id('thisis2ndID').click()
time.sleep(5)