python 解决selenium 中的 .clear()方法失效问题
最近在使用selenium做一个数字货币的自动化脚本时,遇到一个问题就是okex网站的input使用clear()方法居然无法清空,但是后来试了好多次发现方法是可以使用的,而且这个网站修改input的value也没用,必须在文本框里修改才行,本次的目的就是要清除输入框的默认值,然而clear()没有反应,最后还是用了别的方法解决了问题,那就是使用鼠标双击事件,全选后输入内容。
fromselenium.webdriver.common.action_chainsimportActionChains fromselenium.webdriver.common.byimportBy fromselenium.webdriver.supportimportexpected_conditionsasEC fromselenium.webdriver.support.waitimportWebDriverWait browser=webdriver.Chrome() #延时等待 wait=WebDriverWait(browser,1) BL=str(float((X).split('%')[0])+0.01) #获取节点对象 Ratio=wait.until(EC.presence_of_element_located((By.XPATH,'//*[@id="root"]/div/div/div/div[1]/div[2]/div[4]/div/div/div[2]/div/div[1]/div[3]/div[2]/input'))) #双击事件 ActionChains(browser).double_click(Ratio).perform() #输入内容 Ratio.send_keys(BL)
补充知识:selenium常见方法(clear(),send_keys(),click(),submit())实例
我就废话不多说了,大家还是直接看代码吧~
#!/usr/bin/python #--coding:UTF-8-- fromseleniumimportwebdriver importtime driver=webdriver.Firefox() driver.get(“https://passport.csdn.net/account/login?ref=toolbar“) driver.find_element_by_css_selector(“input#username”).clear()#清空输入框内的提示信息,例如用户名,密码等提示信息,如果直接输入内容,可能会与输入框的默认提示信息拼接,从而造成输入信息的错误,这是clear()将会变得非常有用 driver.find_element_by_css_selector(“input#username”).send_keys(“1285154416@qq.com”)#用于在一个输入框内输入XX内容 driver.find_element_by_css_selector(“input#password”).clear() driver.find_element_by_css_selector(“input#password”).send_keys(“123456”) driver.find_element_by_css_selector(“input.logging”).submit()#用于对信息进行提交,也可以使用click()进行代替,submit()要求提交对象是一个表单,click()更强调事件的独立性 time.sleep(10) driver.quit()
以上这篇python解决selenium中的.clear()方法失效问题就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持毛票票。
声明:本文内容来源于网络,版权归原作者所有,内容由互联网用户自发贡献自行上传,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任。如果您发现有涉嫌版权的内容,欢迎发送邮件至:czq8825#qq.com(发邮件时,请将#更换为@)进行举报,并提供相关证据,一经查实,本站将立刻删除涉嫌侵权内容。