在网站上,我需要在弹出的模式窗口中单击一个复选框。
我似乎无法获得正确的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是使该复选框唯一的原因,因为有多个具有相同类的复选框。这是代码段:
<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>
如何解决此问题?
答案 0 :(得分:0)
您可以尝试使用以下CSS选择器:
ImageCardView
Xpath将是:
div.grid-check-box input.LinkServiceContactToEnvelopeMap[type='checkbox']
首先检查DOM中是否有多个输入项,然后必须进行必要的更改。
如果您还有其他顾虑,请告诉我。