zoukankan      html  css  js  c++  java
  • WebDriver API 元素定位(三)

    1. 将元素滚定到可见区域
    2. iframe切换
    • 将元素滚定到可见区域

      web页面不能一次显示全部全部显示,需要借助滚定来查看相应的显示;selenium进行操作时,需要在可视范围内进行操作,

      就需要将特定的元素滚动到可视范围进行操作,可以借助“execute_script("arguments[0].scrollIntoView();", target)”’来滚动页面。

      ①  driver.execute_script("arguments[0].scrollIntoView();", target)  #将元素滚定到页面顶部(target表示需要显示的元素)
      ②  driver.execute_script("arguments[0].scrollIntoView(false);",target)  #将元素滚定到页面底部

    #!/usr/bin/python 
    #   coding:utf-8
    #----Score Liu----
    
    from selenium import webdriver
    import time
    
    driver = webdriver.Chrome()
    #打开百度页面
    baidu_url = 'https://www.baidu.com/'
    driver.get(baidu_url)
    #输入信息并搜索
    # driver.maximize_window()
    time.sleep(2)
    driver.find_element_by_id("kw").send_keys("宁波")
    driver.find_element_by_id("su").click()
    time.sleep(2)
    target = driver.find_element_by_xpath("//div[@id='content_left']//div[@id='5']//a[text()='人民政府']")
    
    # driver.execute_script("arguments[0].scrollIntoView();", target)#将元素滚定到页面顶部
    driver.execute_script("arguments[0].scrollIntoView(false);",target)#将元素滚定到页面底部
    target.click()
    • iframe切换

      iframe的定义:iframe 元素会创建包含另外一个文档的内联框架(即行内框架)

      当我们需要定位iframe内部的元素,就需要进行iframe切换,否则无法定位到相应的元素。

      使用qq课堂的登录页面为例:

    # 选择iframe
    driver.switch_to.frame('login_frame_qq')

    随手记记,每天成长一步。 唯有努力不会辜负自己!
  • 相关阅读:
    【VS2013编译DirectX Tutorials时遇到的错误】"const wchar_t *" 类型的实参与 "LPCSTR" 类型的形参不兼容
    python3 登录接口
    Python-网络编程
    Python之mock接口开发
    python基础笔记(五):操作excel、mysql、redis
    python基础笔记(六):md5加密
    python3基础笔记(四):模块安装&os模块&时间模块
    python3基础笔记(三):函数
    python3基础笔记(二):文件操作、json操作
    Python3基础笔记
  • 原文地址:https://www.cnblogs.com/xiashang/p/9235609.html
Copyright © 2011-2022 走看看