如何使用selenium点击复选框? (蟒蛇)

时间:2014-04-15 00:40:17

标签: python html selenium

我正在试图找出我最近发现的问题的答案。我有一些HTML,如下所示,我想要做的是,发送一个HTML剪切到selenium,以便它可以单击复选框。但是,我不想按id查找,因为你可以看到,id很难看。相反,我正在寻找另一种方法。

HTML:

<li class= "zone odd open night">...</li>
<li class= "zone even open night">...</li>
<li class= "zone odd open night">...</li>
  <label for="srr-2-1397538000">Room 226 1:00 AM</label>
  <input type="checkbox" name="srr-2-1397538000" id="srr-2-1397538000" value="Y" class="interactive">
  <span class-"drag-handle">...</span>
</li>
<li class="zone even open night">...</li>

正如您所看到的,我正在尝试查找特定的复选框以进行单击,但我不希望通过查找ID来执行此操作。我希望通过“房间”或更通用的东西来查找。

有没有人对如何做到这一点有任何建议?使用selenium还是其他一些webdriver?

另外,我尝试了经典:

element = driver.find_element_by_id("srr-2-1397538000")
element.click()

但正如我所说,这不是我想要的。

谢谢

2 个答案:

答案 0 :(得分:0)

您可以使用标签名称吗?

element = driver.find_element_by_tag_name('input')
element.click()

答案 1 :(得分:0)

如果您想通过Room查找,可以使用xpath:

element = driver.find_element_by_xpath("//label[contains(text(),'Room')]/following-sibling::input")
element.click()