zoukankan      html  css  js  c++  java
  • 自动化4-操控元素(Python)

    python版

    选择元素后,代码返回元素对应的WebElement对象,通过这个对象,可以操控元素。

    操控元素包括:(点击、输入字符串、获取元素包含的信息

      1. 点击元素: 调用元素WebElement对象的click方法。

           当调用WebElment对象的 click() 方法去点击元素时,浏览器接收到自动化命令,顶级的时该元素的中心点位置。

      2.  输入框:调用元素WebElement对象的 send_keys() 方法。

          当需要把输入框中已有内容清除掉,可以使用WebElement对象的clear方法。

    1 from selenium import webdriver
    2 from time import sleep
    3 wd = webdriver.Chrome(r'D:BrowserDriverchromedriver.exe')
    4 wd.get('http://cdn1.python3.vip/files/selenium/test3.html')
    5 element=wd.find_element_by_id('input1')
    6 # 清除输入框中已有的字符串
    7 element.clear()
    8 element.send_keys('第三个自动化学习!')
    9 sleep(10)

      3. 获取元素信息

        a. 获取元素的文本内容:通过WebElement对象的 text 属性,可以获取元素 展现在界面上的文本内容

        b. 获取元素的属性:通过WebElement对象的 get_attribute 方法 来获取 元素的属性值

                 quit() 退出浏览器窗口及浏览器驱动

    1  # 例:
    2  from selenium import webdriver
    3  wd = webdriver.Chrome(r'D:BrowserDriverchromedriver.exe')
    4  wd.get('https://sc2.blizzard.cn/media/artwork/#/1')
    5  element=wd.find_element_by_id('j-search')
    6  wd.implicitly_wait('10')
    7  print(element.get_attribute('class'))
    8  # webdriver提供的退出
    9  wd.quit()

        c. 获取整个元素对应的HTML文本内容:使用 element.get_attribute('outerHTML')

         获取某个元素内部的HTML文本内容:使用  element.get_attribute('innerHTML')

    1 # 基于上例的网站
    2 from selenium import webdriver
    3 wd=webdriver.Chrome(r'D:BrowserDriverchromedriver.exe')
    4 wd.get('https://sc2.blizzard.cn/media/artwork/#/1')
    5 element=wd.find_element_by_id('j-search')
    6 wd.implicitly_wait(5)
    7 print(element.get_attribute('outerHTML'))
    8 print(element.get_attribute('innerHTML'))
    9 wd.quit()

        d. 获取输入框里面的文字:对于imput输入框的元素,要获取里面的输入文本,使用 element.get_attribute('value')

    1 from selenium import webdriver
    2 wd=webdriver.Chrome(r'D:BrowserDriverchromedriver.exe')
    3 wd.get('http://www.baidu.com')
    4 wd.find_element_by_id('kw')
    5 element=wd.dend_keys('百度
    ')
    6 wd.implicitly_wait(10)
    7 print(element.get_attribute('value'))

        e. 获取元素文本内容2:元素的文本内容没有展示在页面上,或者没有完全展示在界面上,使用 element.get_attribute('innerText'), 或者element.get_attributte('textContent')

    注:更换Firefox浏览器,指定驱动路径时经常出错,使用executable_path没有报错了。

      executable_path指定了chromedriver所在的路径,程序运行时就会到该路径下启动chrome浏览器

        

  • 相关阅读:
    2019春总结作业
    第十周作业
    第九周作业
    第八周作业
    第七周作业
    202103226-1 编程作业
    1 20210309-2 阅读任务
    1 20210309-1 准备工作
    课程总结
    第十三周总结
  • 原文地址:https://www.cnblogs.com/Free-Ink/p/12533917.html
Copyright © 2011-2022 走看看