在爬取需要输入账号密码的网页时,我们需要找到可填写内容的标签。记得之前写过,但是没有记住。

这回重新梳理一下,如何可找到这个标签

以极验后台登录网站为例:https://auth.geetest.com/login/

代码:D:\spider1111111111111111ex\venv\滑块验证码\CrackGeetest-master\crack.py

初始化
url = 'https://account.geetest.com/login'
browser = webdriver.Chrome() #谷歌浏览器的模拟driver
self.wait = WebDriverWait(self.browser, 20)
self.email = EMAIL
self.password = PASSWORD
browser.get(self.url)  #get请求
email = self.browser.find_element_by_xpath('//input[@placeholder="请输入邮箱"]')
password = self.browser.find_element_by_xpath('//input[@placeholder="请输入密码"]')
email.send_keys(self.email)
password.send_keys(self.password)
#这是自动输入账号密码的代码

可是在找寻输入标签的时候进入了误区,一直没有做有些忘了,一时没有想明白就用百度重新试验了下。在百度的input中是这样的
<input id="kw" name="wd" class="s_ipt" value="" maxlength="255" autocomplete="off">,。
之后又输入了内容查看,是这样的:
<input id="kw" name="wd" class="s_ipt" value="p我输入的内容" maxlength="255" autocomplete="off">
确认了输入的内容确实进入了标签input的属性value中了
注意:在查看源码时检查下的Element,里面的代码不是完整的,有javesprict动态是看不到的,需要在Network下选择www.baidu.com(例百度)Respone中。 回到极验后台登录中,用XPath找到input标签,
email = self.browser.find_element_by_xpath('//input[@placeholder="请输入邮箱"]')
再用send_kets()发送
email.send_keys(self.email)
这样就可成功输入账号密码了。还可以调用time.sleep(5),来等待网络 注意在模块中已有延时等待。延时等待分为隐式等待,与显式等待,显式等待效果好一些,在之后的内容会有应用
 

input内容,输入账号密码的更多相关文章

  1. windows上解决git每次重复输入账号密码

    win7电脑: 1.在 C:\Users\Administrator 下 编辑 .gitconfig文件 2.在原有内容下添加一行(此行作用为自动保存,保存修改后再使用一次GIT,输入账号密码后下次即 ...

  2. 取消chrome浏览器下input和textarea的默认样式;html5默认input内容清除“×”按钮去除办法

    取消chrome浏览器下input和textarea的默认样式: outline:none;/*清空chrome中input的外边框*/ html5默认input内容清除“×”按钮去除办法: inpu ...

  3. Ubuntu16.04 802.1x 有线连接 输入账号密码,为什么连接不上?

    ubuntu16.04,在网络配置下找到802.1x安全性,输入账号密码,为什么连接不上?   这是系统的一个bug解决办法:假设你有一定的ubuntu基础,首先你先建立好一个不能用的协议,就是按照之 ...

  4. linux服务器git pull/push时提示输入账号密码之免除设置

    1.先cd到根目录,执行git config --global credential.helper store命令 [root@iZ25mi9h7ayZ ~]# git config --global ...

  5. 时时监听input内容的改变

    心得:我们都知道input有一个change事件,但是是在input元素失去焦点的时候发生,不能时时的监听input内容的改变. 刚开始的时候我是想用setInterval设置计时器的原理定时监听in ...

  6. TortoiseGit拉取或推送,输入账号密码后提示 HTTP Basic: Access denied fatal: Authentication failed 解决方案

    TortoiseGit拉取或推送项目,输入账号密码后,提示 HTTP Basic: Access denied fatal: Authentication failed. 大体意思是,HTTP基本认证 ...

  7. linux git pull/push时提示输入账号密码之免除设置

    1.先cd到根目录,执行git config --global credential.helper store命令 [root@iZ25mi9h7ayZ ~]# git config --global ...

  8. 使用disavled属性锁定input内容不可以修改后,打印获取不到对应的值

    当我们需要锁定input内容不让修改时,可以使用disabled="disabled"和readonly="readonly", 官方的解释是:disabled ...

  9. 微信小程序获取输入框(input)内容

    微信小程序---获取输入框(input)内容 wxml <input placeholder="请输入手机号码" maxlength="11" type= ...

随机推荐

  1. 1_02_MSSQL课程_T_SQL语句_手动创建数据库和表

    1. 基本的DML SQL脚本 ->简单的查询: Select 列名 From 表明 where 条件表达式 ->插入数据: Insert Into 表名(列名1,列名2,列名3..... ...

  2. Linux centosVMware df命令、du命令、磁盘分区

    一.df命令 df(disk filesystem的简写)用于查看自己挂载磁盘的总容量.使用容量.剩余容量,可以不加任何参数,默认以KB为单位. [root@davery ~]# df文件系统 1K- ...

  3. (转)浅谈 Linux 内核无线子系统

    前言 Linux 内核是如何实现无线网络接口呢?数据包是通过怎样的方式被发送和接收呢? 刚开始工作接触 Linux 无线网络时,我曾迷失在浩瀚的基础代码中,寻找具有介绍性的材料来回答如上面提到的那些高 ...

  4. java理解抽象类 2.19

    // Telphone.java public abstract class Telphone{ public abstract void call(); public abstract void m ...

  5. python记事本实现查询替换

    python 大作业 自己写了记事本  也参考网上的  查询会有点问题 替换没问题 # encoding=utf- from tkinter import * from tkinter.filedia ...

  6. ApplicationListener监听使用ContextRefreshedEvent事件类型会触发多次

    @Componentpublic class TestApplicationListener implements ApplicationListener<ContextRefreshedEve ...

  7. NO8 find结合sed查找替换企业案例多方法精讲&命令总结!

    ·sed    #替换  eg: sed 'sed 's#已有的内容#更改的内容#g' oldboy.txt                   s 代表替换,g代表全局,sg就是全局替换       ...

  8. I0.0 上升边沿 清空 MW10~MW58 联系多个知识点融合

    编写程序 在I1.2 的上升边沿 触发 MW8+1的程序 实现方式1 M1.1 为中间变量 对应的STL语句表 执行结果 OK 已经仿真 . 现在尝试第2种方法 实现方式2: M1.1也是中间变量 S ...

  9. C++学习记录——(queue的清空)

    c++自带的queue并没有clear这个方法:所以只能自己写了. 一共三种(其实我决得就是两种): 第一种: 直接赋值 queue<int> MyQue; /* …… */ MyQue ...

  10. HDU - 6181 Two Paths(次短路)

    题意:求次短路. 分析:关键是情况讨论. LL tmpd = x.d + e.dist; 以下情况对应的更新结果 1.tmpd(2) < 最短路(3) < 次短路(4)-------> ...