【问题标题】:How do I tick a checkbox in a table and modal window?如何勾选表格和模式窗口中的复选框?
【发布时间】: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


【解决方案1】:

你可以试试这个css选择器:

div.grid-check-box input.LinkServiceContactToEnvelopeMap[type='checkbox']

Xpath 将是:

//div[@class='grid-check-box']/input[@class='LinkServiceContactToEnvelopeMap' and @type='checkbox']  

首先检查 DOM,如果有多个条目,那么您将不得不进行必要的更改。

如果您还有其他问题,请告诉我。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2021-09-15
    • 2015-06-26
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2010-12-15
    • 2017-02-07
    相关资源
    最近更新 更多