zoukankan      html  css  js  c++  java
  • input内容,输入账号密码

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

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

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

    代码:D:spider1111111111111111exvenv滑块验证码CrackGeetest-mastercrack.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),来等待网络

    注意在模块中已有延时等待。延时等待分为隐式等待,与显式等待,显式等待效果好一些,在之后的内容会有应用

     
  • 相关阅读:
    挖洞经验 | 登录注册表单渗透
    冰蝎v2.0.1核心部分源码浅析
    ThinkPHP 3.1.3及之前的版本存在一个SQL注入漏洞
    从一些常见场景到CSRF漏洞利用
    WellCMS 2.0 Beta3 后台任意文件上传
    Redis漏洞利用与防御
    通过主从复制 GetShell 
    他山之石:InfoQ采访Spinellis---如何有效地调试软件
    局部静态变量只能初始化一次是怎么实现?
    CPU工作的基本原理以及如何设计一个简单的16位CPU模型
  • 原文地址:https://www.cnblogs.com/qq376142178/p/12266532.html
Copyright © 2011-2022 走看看