【发布时间】:2019-05-14 21:35:28
【问题描述】:
在网站上,我需要在弹出的模式窗口中单击复选框。
我似乎无法为它找到正确的 xpath。 我试过了:
req_checkbox = driver.find_element_by_xpath("//td/div/input[@data-id='34970']")
driver.execute_script("arguments[0].click();", req_checkbox)
也试过了:
req_checkbox = WebDriverWait(usedriver, 15).until(EC.presence_of_element_located((By.XPATH,'//div[@class="grid-check-box"]/input[@data-id="34970" and type="checkbox"]')))
data-id 是使该复选框独一无二的原因,因为有多个具有相同类的复选框。这是代码sn-p:
<td role="gridcell" id="AddFromFirmMasterListGrid_active_cell" class="">
<div class="grid-check-box">
<input class="LinkServiceContactToEnvelopeMap" data-id="34970" data-idtoken="5F3244E8BF5E488D14E28C05BE2DD2C524B5E9F0" data-envelopeidtoken="0A1257B11E29C56650A270E56FD12007CDF2F917" type="checkbox">
<span></span>
</div>
</td>
我该如何解决这个问题?
【问题讨论】:
-
你试过正常点击了吗?我会先检查复选框是否位于`print(len(driver.finds_element_by_xpath("//td/div/input[@data-id='34970']")))`。如果 len >0 那么我们可以看到为什么点击不起作用。
-
这帮助我诊断并查看 WebElement(s) 是否可以交互,谢谢
标签: python html selenium web drop-down-menu