相思资源网 Design By www.200059.com

最近在使用selenium做一个数字货币的自动化脚本时,遇到一个问题就是okex网站的input使用clear()方法居然无法清空,但是后来试了好多次发现方法是可以使用的,而且这个网站修改input的value也没用,必须在文本框里修改才行,本次的目的就是要清除输入框的默认值,然而clear()没有反应,最后还是用了别的方法解决了问题,那就是使用鼠标双击事件,全选后输入内容。

from selenium.webdriver.common.action_chains import ActionChains
from selenium.webdriver.common.by import By
from selenium.webdriver.support import expected_conditions as EC
from selenium. webdriver.support.wait import WebDriverWait
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 --

from selenium import webdriver
import time
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()方法失效问题就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持。

标签:
python,selenium,.clear失效

相思资源网 Design By www.200059.com
广告合作:本站广告合作请联系QQ:858582 申请时备注:广告合作(否则不回)
免责声明:本站文章均来自网站采集或用户投稿,网站不提供任何软件下载或自行开发的软件! 如有用户或公司发现本站内容信息存在侵权行为,请邮件告知! 858582#qq.com
相思资源网 Design By www.200059.com

评论“python 解决selenium 中的 .clear()方法失效问题”

暂无python 解决selenium 中的 .clear()方法失效问题的评论...

RTX 5090要首发 性能要翻倍!三星展示GDDR7显存

三星在GTC上展示了专为下一代游戏GPU设计的GDDR7内存。

首次推出的GDDR7内存模块密度为16GB,每个模块容量为2GB。其速度预设为32 Gbps(PAM3),但也可以降至28 Gbps,以提高产量和初始阶段的整体性能和成本效益。

据三星表示,GDDR7内存的能效将提高20%,同时工作电压仅为1.1V,低于标准的1.2V。通过采用更新的封装材料和优化的电路设计,使得在高速运行时的发热量降低,GDDR7的热阻比GDDR6降低了70%。