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

最近在使用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()方法失效问题就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持我们。

(0)

相关推荐

  • 新手常见6种的python报错及解决方法

    此篇文章整理新手编写代码常见的一些错误,有些错误是粗心的错误,但对于新手而已,会折腾很长时间才搞定,所以在此总结下我遇到的一些问题.希望帮助到刚入门的朋友们. 1.NameError变量名错误 报错: >>> print a Traceback (most recent call last): File "<stdin>", line 1, in <module> NameError: name 'a' is not defined 解决方案:

  • Python3+selenium配置常见报错解决方案

    第一个坑:'geckodriver' executable needs to be in PATH 1.如果启动浏览器过程中报如下错误 Traceback (most recent call last): File "<stdin>", line 1, in <module> File "D:\test\python3\lib\site-packages\selenium\webdriver\firefox\webdriver.py", li

  • python清空命令行方式

    python清空命令行 ! 有时我们在命令行上运行一些代码时,觉得有些冗余了,可以通过以下代码进行清除命令行上的代码. import os def clear():os.system('cls') clear() 主要的代码是os.system('cls'),也可以直接输入该代码去清除命令行. 以上这篇python清空命令行方式就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持我们.

  • python+selenium 定位到元素,无法点击的解决方法

    报错 selenium.common.exceptions.WebDriverException: Message: Element is not clickable at point (234.75, 22). Other element would receive the click: <img class="logo" src="/public/desktop/common/img/game_logo.png"> 需要点击的按钮页面显示不了,需要下

  • python 解决selenium 中的 .clear()方法失效问题

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

  • pycharm运行程序时在Python console窗口中运行的方法

    问题:在pycharm中点击run运行程序,发现没有打开run窗口,而是打开的Python console窗口. 解决方法:打开菜单栏run->edit configurations,把下图中的复选框取消就可以了. 以上这篇pycharm运行程序时在Python console窗口中运行的方法就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持我们.

  • 解决SpringBoot中使用@Async注解失效的问题

    错误示例,同一个类中使用异步方法: package com.xqnode.learning.controller; import com.fasterxml.jackson.core.JsonProcessingException; import org.springframework.scheduling.annotation.Async; import org.springframework.web.bind.annotation.GetMapping; import org.springf

  • Python解决非线性规划中经济调度问题

    目录 1.概述 2.scipy.optimize.minimize参数 3.简单案例引出 (1)Scipy.optimize实现 (2)遗传算法包实现 (—sko.GA&sko.DE) 4.电力系统中应用——经济调度 (1)案例 (2)Scipy.optimize实现 (3)粒子群包实现(pyswarm) 1.概述 今天重点讲非线性规划中scipy.optimize.minize库在非线性规划中的应用.Scipy 是 Python 算法库和数学工具包,包括最优化.线性代数.积分.插值.特殊函数.

  • Python自动化测试selenium指定截图文件名方法

    目录 前言: 一.python中时间日期格式化符号 二.使用步骤 1.导入time模块,webdriver类 2.实际代码操作 总结: 前言: Selenium 支持 Web 浏览器的自动化,它提供一套测试函数,用于支持 Web 自动化测试.函数非常灵活,能够完成界面元素定位.窗口跳转.结果比较等功能.支持多种浏览器.多种编程语言(Java.C#.Python.Ruby.PHP 等).支持多种操作系统(Windows.Linux.IOS.Android 等).开源免费. 它主要由三个工具组成:W

  • python处理csv中的空值方法

    如下所示: # -*- coding: UTF-8 -*- import jieba.posseg import tensorflow as tf import pandas as pd import csv import math """ 1.必須獲取CSV文件夾(ID:文本) 2.返回(ID:分词后的文本) """ flags = tf.app.flags flags.DEFINE_string("train_file_addres

  • Python 修改列表中的元素方法

    如下所示: #打印列表文件 def show_magicians(magics) : for magic in magics : print(magic) #修改列表文件 def make_great(magics) : length=len(magics) for a in range(1,length+1) : magics[a-1]='the Great'+magics[a-1] #输入信息 def input_name(magics) : n=input('请输入魔术师的个数 : ')

  • python读取文本中的坐标方法

    利用python读取文本文件很方便,用到了string模块,下面用一个小例子演示读取文本中的坐标信息. import string x , y , z = [] , [] ,[] with open("test.txt") as A: for eachline in A: tmp = eachline.split() x.append(string.atof(tmp[0])) y.append(string.atof(tmp[1])) z.append(string.atof(tmp[

  • Python object类中的特殊方法代码讲解

    python版本:3.8 class object: """ The most base type """ # del obj.xxx或delattr(obj,'xxx')时被调用,删除对象中的一个属性 def __delattr__(self, *args, **kwargs): # real signature unknown """ Implement delattr(self, name). "&q

  • Python 捕获代码中所有异常的方法

    问题 怎样捕获代码中的所有异常? 解决方案 想要捕获所有的异常,可以直接捕获 Exception 即可: try: ... except Exception as e: ... log('Reason:', e) # Important! 这个将会捕获除了 SystemExit . KeyboardInterrupt 和 GeneratorExit 之外的所有异常. 如果你还想捕获这三个异常,将 Exception 改成 BaseException 即可. 讨论 捕获所有异常通常是由于程序员在某

随机推荐