如何使用xpath执行单击输入

时间:2017-07-05 07:34:54

标签: python selenium

我使用下面的代码点击了元素。但是找不到元素并且显示元素不可见。

elem3=driver.find_element_by_xpath(".//*[@id='check-box']")
elem3.click()

html代码:

<span id="Some-span" class="urCWhl" title="Indicator">
<input id="check-box" class="urC" type="checkbox" hidefocus="hidefocus" ti="-1" tabindex="-1" ct="C"/>
<span id="label-lbl" class="name_class" style="width:100%;box-sizing:border-box;" unselectable="on" f="some-id" ti="0" tabindex="0" title="Indicator"></span>

2 个答案:

答案 0 :(得分:0)

您可以尝试这样的事情:

    element = driver.find_element_by_xpath(".//*[@id='check-box']")
    driver.execute_script("arguments[0].click();", element)

答案 1 :(得分:0)

输入可能在框架内?如果是这样,请执行以下操作切换到该帧:

IDataContractSurrogate

或者如果没有,尝试通过id找到然后单击元素:

DataContractSerializerOperationBehavior

要记住的一件事是,如果复选框已经有值,如果单击复选框,则将删除检查。如果您希望复选框始终具有真值,则可以执行以下操作:

driver.switch_to_frame('framename')

这将执行一个javascript,以便在复选框

上始终具有真值