zoukankan      html  css  js  c++  java
  • python + selenium

    参考资料

    https://www.cnblogs.com/3sss-ss-s/p/10313758.html#_label1

    本文使用python 3.7 + 74版本 谷歌浏览器

    安装

    #安装:selenium+chromedriver
    pip3 install selenium
    下载chromdriver.exe添加环境变量或者放到python安装路径的scripts目录中即可
    国内镜像网站地址:http://npm.taobao.org/mirrors/chromedriver
    最新的版本去官网找:https://sites.google.com/a/chromium.org/chromedriver/downloads

    验证安装

    from selenium import webdriver
    #没配置环境变量,要指定路径
    #driver = webdriver.Chrome ('zip/chrome.exe')
    driver = webdriver.Chrome ()   #弹出浏览器

    针对html中获取iframe中#document下的节点内容,使用browser.switch_to.frame(0)获取iframe节点

    案列

    from selenium import webdriver
    import time
    import re
    from selenium.webdriver.common.keys import Keys
    from selenium.webdriver.support.wait import WebDriverWait
    from selenium.webdriver.support import expected_conditions as EC
    from selenium.webdriver.common.by import By
    from pyquery import PyQuery as pq
    import os
    from selenium.webdriver import ActionChains
    
    
    
    
    username = "321lzhj688"
    password = "yilufa168"
    
    browser = webdriver.Chrome()
    browser.maximize_window()
    browser.get("https://www.1688.com/")
    
    input_tag = browser.find_element_by_id('alisearch-keywords')
    input_tag.clear
    input_tag.send_keys('铝制不粘锅')
    input_tag.send_keys(Keys.ENTER)
    wait = WebDriverWait(browser, 5)
    wait.until(EC.presence_of_element_located((By.ID,'s-module-overlay')))
    
    browser.find_element_by_xpath('//div[@id="s-module-overlay"]/div/div/div[1]/div/div[2]/div/a').click()
    # 获取ifram中#document下的节点内容
    browser.switch_to.frame(0)
    browser.find_element_by_xpath('//div[@id="page2"]/div/div/div[@class="bd"]/div[@class="quick-form"]/div/div[@class="login-links"]/a[text()="密码登录"]').click()
    # 切到frame中之后,我们便不能继续操作主文档的元素,这时如果想操作主文档内容,则需切回主文档。
    browser.switch_to.default_content()
    # 用户登录又出现iframe节点 browser.switch_to.frame(0) browser.find_element_by_id(
    'TPL_username_1').send_keys(username) browser.find_element_by_id('TPL_password_1').send_keys(password)
  • 相关阅读:
    angularJs中ngModel的坑
    Angular中ngModel的$render的详解
    typescript中的工具 tsd
    angula组件-通过键盘实现多选(原创)
    angular指令系列---多行文本框自动高度
    微信公众号系列 --- ionic在IOS的键盘弹出问题
    angular Jsonp的坑
    关于js的一些基本知识(类,闭包,变量)
    介绍Angular的注入服务
    2019 SDN大作业
  • 原文地址:https://www.cnblogs.com/aqiuboke/p/11176431.html
Copyright © 2011-2022 走看看