我正在试图找出我最近发现的问题的答案。我有一些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()
但正如我所说,这不是我想要的。
谢谢
答案 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()