‘WebElement’ object has no attribute ‘sendKeys’

1.应广大市民反映,为减少人员集聚,自2020年2月24日(含)起,暂停“门店自取”口罩预约方式。

2.前期市民放弃预约各门店购买资格的口罩,将于2月23日在“门店自取”预约系统中全部投放,当天预约成功的市民可在2月25日(含)前到预约门店购买,逾期不再保留。

3.市民可继续通过“快递配送”方式自愿预约购买。自2月25日(含)起,“快递配送”预约系统开放时间,按照快递公司不同分为每天上午9:30和10:00两个时段。邮政、顺丰等量承担配送任务,市民可自行选择配送公司。

因为一个病毒导致很多事情都变的面目全非,口罩、消毒液都成了紧俏用品。为了能够买到口罩,就需要弥补手速过慢的问题。手速太慢了是抢不到口罩的,所以此时就需要自动提交数据。找到网址之后。很容易就可以定位到所有的输入框:



真题就是一排input,加两个select:

最开始的时候实用的id进行定位,但是后来发现这些id都是动态生成的,直接通过id定位就bug了。再次进入的时候会发现原来的input id都变了。于是改变思路直接遍历input进行处理,但是如果要多次填写信息就需要清空input。直接通过:

weuis[0].sendKeys(Keys.CONTROL, "a")
直接就bug了,可以通过ActionChains来实现:
ActionChains(driver).move_to_element(input).send_keys(Keys.DELETE)

另外,如果input.clear()并不是总能生效,可以通过下面的代码来删除内容:

from selenium.webdriver.common.keys import Keys
from selenium.webdriver.common.action_chains import ActionChains
def clear_input(input):
    ActionChains(driver).move_to_element(input).send_keys(Keys.CONTROL, "a")
    ActionChains(driver).move_to_element(input).send_keys(Keys.DELETE)
☆版权☆

* 网站名称:obaby@mars
* 网址:https://lang.ma/
* 个性:https://oba.by/
* 本文标题: 《‘WebElement’ object has no attribute ‘sendKeys’》
* 本文链接:https://www.da.bi/2020/03/6984
* 短链接:https://oba.by/?p=6984
* 转载文章请标明文章来源,原文标题以及原文链接。请遵从 《署名-非商业性使用-相同方式共享 2.5 中国大陆 (CC BY-NC-SA 2.5 CN) 》许可协议。


You may also like

发表回复

您的电子邮箱地址不会被公开。 必填项已用 * 标注