• python安装selenium(Firefox和Chrome)+元素定位


    一、下载地址
    谷歌浏览器chromedriver驱动下载地址:
    https://chromedriver.storage.googleapis.com/index.html

    火狐浏览器geckodriver驱动下载地址:
    https://registry.npmmirror.com/binary.html?path=geckodriver/

    二、谷歌浏览器配置:
    将下载好的chromedriver驱动解压后放在python文件夹中
    在这里插入图片描述
    三、火狐浏览器:
    将下载好的geckodriver驱动解压后放到Firefox的根目录中
    在这里插入图片描述
    四、配置火狐浏览器的环境变量
    按快捷键win+R,输入“sysdm.cpl”,回车 选择高级,进入环境变量,找到path双击进入,将下载的geckivodrer文件路径复制并粘贴到新建中 完成配置
    C:\Program Files\Mozilla Firefox\geckodriver.exe
    在这里插入图片描述
    五、打开pycharm,下载selenium
    设置-文件-项目-python编译器,点击“+”,搜索selenium,点击安装软件包;安装完成后,重启pycharm
    在这里插入图片描述
    在这里插入图片描述

    在这里插入图片描述
    六、简单的脚本

    from selenium import webdriver
    #from...import:是只引入某个包里的某个类
    from selenium.webdriver.common.by import By
    
    driver = webdriver.Firefox()
    #把webdriver的Chrome对象赋值给变量driver。只有获得了浏览器对象后,才可以启动浏览器,打开网址,操作页面元素。
    
    driver.get("http://www.baidu.com")
    #获得浏览器对象后,通过get()方法,可以向浏览器发送网址
    
    value=driver.find_element(By.XPATH,"//span[text()='按图片搜索']").get_attribute("class")
    #通过相对路径+文本定位元素
    print(value)
    
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14

    七、其它定位元素的方法;

    id:
    driver = webdriver.Firefox()
    driver.get("http://www.baidu.com")
    driver.find_element(By.ID,"kw").send_keys("11") #根据id来定位输入框,在输入框中输入11
    
    • 1
    • 2
    • 3
    • 4
    name:
    driver = webdriver.Firefox()
    driver.get("http://www.baidu.com")
    driver.find_element(By.NAME,"wd").send_keys("11") #根据name来定位输入框,在输入框中输入11
    
    • 1
    • 2
    • 3
    • 4
    link_text:超链接定位
    driver = webdriver.Firefox()
    driver.get("http://www.baidu.com")
    driver.find_element(By.LINK_TEXT,"新闻").click() #根据超链接定位并点击
    
    • 1
    • 2
    • 3
    • 4
    partall_link_text:部分超链接定位
    driver = webdriver.Firefox()
    driver.get("http://www.baidu.com")
    driver.find_element(By.PARTIAL_LINK_TEXT,"新").click()
    
    • 1
    • 2
    • 3
    • 4
    xpath:
    相对路径://开头的
    相对路径+唯一索引:先找父级标签,再找爷爷级的,直到找到一个唯一的标签
    driver = webdriver.Firefox()
    driver.get("http://www.baidu.com")
    driver.find_element(By.XPATH,"//form/span[1]/input").send_keys("11")
    相对路径+唯一属性
    driver.find_element(By.XPATH,"//input[@autocomplete='off']").send_keys("11")
    相对路径+通配符(通配符里面的属性必须唯一):通配符[@属性]:复制xpath时容易出错,不是万能的
    driver.find_element(By.XPATH,"//*[@autocomplete='off']").send_keys("11")
    相对路径+部分属性值:
    driver.find_element(By.XPATH,"//*[starts-with(@autocomplete,'of')]").send_keys("11")
    #starts-with(@autocomplete,'of'表示以of开头的autocomplete的值
    #*[substring(@autocomplete,2)='of']结尾从autocomplete的值的第2位开始算到结束,=of的值
    #*[contains(@autocomplete,2,'of']包含,autocomplete的值中包括of的值
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
  • 相关阅读:
    【电源专题】案例:为什么芯片支持0.8V的工作电压,但EN却又要高达1.25V?
    IDEA创建完Maven工程后,右下角一直显示正在下载Maven插件
    如何制作HTML网页设计【体育运动主题网站——中国篮球NBA】
    入门力扣自学笔记111 C++ (题目编号622)
    Android studio连接MySQL并完成简单的登录注册功能
    Isito 入门(八):金丝雀发布
    Android AOP二三事:使用APT仿写ButterKnife
    win10系统单独编译和使用WebRTC的回声消除(AEC)、音频增益(AGC)、去噪(NS)模块
    常用正则表达式
    开环控制(自动控制理论)
  • 原文地址:https://blog.csdn.net/zaqzaqzaqzzz/article/details/127783796