跟我一起学Selenium基本操作

发表于:2020-4-27 09:47

字体: | 上一篇 | 下一篇 | 我要投稿

 作者:xiaoxiao张    来源:博客园

  总结了一下自己自学的一些心得与大家分享一下
  下面是自己整理了一些selenium的基础api
   1 #导入浏览器模块
  2 from selenium import webdriver
  3 #打开浏览器
  4 drive = webdriver.chorme()
  5 #访问网站
  6 driver.get(url)
  7 #窗口最大化
  8 driver.maximize_window()
  9 #窗口最小化
  10 driver.minimize_window()
  11 #设置浏览器尺寸
  12 driver.set_window_size(1480, 1800)
  13 #关闭当前窗口
  14 driver.close()
  15 #关闭所有窗口
  16 driver.quiet
  17 #前进
  18 driver.forword()
  19 #后退
  20 driver.back()
  21 #刷新
  22 driver.refresh()
  23 #h获取当前路径
  24 driver.current_url
  25 #获取当前标题
  26 driver.title
  27 # elements代表定位一组元素而element单个
  28 #根据ID定位单独元素或元素集合
  29 driver.find_element_by_id()
  30 driver.find_elements_by_id()
  31 #根据tag_name定位单独元素或元素集合
  32 driver.find_element_by_tag_name()
  33 driver.find_elements_by_tag_name()
  34 #根据className定位单独元素或者元素集合
  35 driver.find_element_by_class_name()
  36 driver.find_elements_by_class_name()
  37 #根据链接文本定位
  38 driver.find_element_by_link_text()
  39 driver.find_elements_by_link_text()
  40 #根据部分链接文本定位
  41 driver.find_element_by_partial_link_text()
  42 driver.find_elements_by_partial_link_text()
  43 #根据xpath定位
  44 driver.find_element_by_xpath()
  45 driver.find_elements_by_xpath()
  46 #根据name定位
  47 driver.find_element_by_name()
  48 driver.find_elements_by_name()
  49 #根据css定位
  50 driver.find_element_by_css_selector()
  51 driver.find_elements_by_css_selector()
  52 #点击操作
  53 el.click
  54 #像输入标签输入文本
  55 el.send_keys(data)
  56 #清空输入框
  57 el.clear()
  58 #获取文本内容
  59 el.text
  60 #获取元素属性
  61 el.get_attribute(value)
  62 #获取元素尺寸
  63 el.size
  64 #检查元素是否可见
  65 el.is_displayed()
   ID定位去哪儿网点击邮轮
   1 from selenium import webdriver
  2 driver = webdriver.Chrome()
  3 url = 'https://www.qunar.com/'
  4 driver.get(url)
  5 driver.find_element_by_id('__link_youlun__').click()
  6 driver.back()
  7 driver.close()
   tag_name定位百度必应搜索
   1 from selenium import webdriver
  2 import time
  3 # 开浏览器
  4 driver = webdriver.Chorme()
  5 # 访问bing搜索
  6 url = 'https://cn.bing.com/'
  7 driver.get(url)
  8 # 通过标签名进行定位,该元素要么唯一,要么是第一个
  9 el = driver.find_element_by_tag_name('input')
  10 el.send_keys('selenium')
  11 # 通过id定位到搜索按钮
  12 el_sub = driver.find_element_by_id('sb_form_go')
  13 # 点击搜索
  14 el_sub.click()
  15 time.sleep(5)
  16 driver.close()
   class_name定位斗鱼直播翻页
   from selenium import webdriver
  import time
  # 开浏览器
  driver = webdriver.Chorme()
  # 访问斗鱼
  url= 'https://www.douyu.com/directory/all'
  driver.get(url)
  for i in range(10):
  # 通过class属性对应的值定位到下一页
  el_next = driver.find_element_by_class_name('shark-pager-next')
  # 点击翻页
  el_next.click()
  time.sleep(3)
  time.sleep(10)
  driver.close()
   link_text定位58同城
   1 from selenium import webdriver
  2 import time
  3 # 开一个浏览器
  4 driver = webdriver.Chrome()
  5 # 访问北京58
  6 url = 'http://bj.58.com/'
  7 driver.get(url)
  8 # 通过连接文本(可以跳转的问题)进行定位
  9 el = driver.find_element_by_link_text('租房')
  10 el.click()
  11 time.sleep(3)
  12 driver.close()
   partial_link_text定位hao123网站
   1 from selenium import webdriver
  2 import time
  3 # 开一个浏览器
  4 driver = webdriver.Chrome()
  5 # 访问百度
  6 url='https://www.baidu.com/'
  7 driver.get(url)
  8 # 通过部分连接文本进行元素定位
  9 # el = driver.find_element_by_partial_link_text('hao').click()
  10 el = driver.find_element_by_partial_link_text('123').click()
  11 time.sleep(3)
   name定位人人网登录
   from selenium import webdriver
  import time
  # 创建一个浏览器
  driver = webdriver.Chorme()
  # 访问人人网
  url = 'http://www.renren.com/'
  driver.get(url)
  # 通过name定位到账号输入
  user = driver.find_element_by_name('email')
  # 输入账号
  user.send_keys('17747385860')
  # 通过name定位到密码输入
  pwd = driver.find_element_by_name('password')
  # 输入密码
  pwd.send_keys('ab123456')
  # 通过id定位到登陆按钮
  el_sub = driver.find_element_by_id('login')
  # 点击登陆
  el_sub.click()
  time.sleep(5)
  driver.close()
   xpath定位新浪微博登录
   1 from selenium import webdriver
  2 import time
  3 driver = webdriver.Chrome()
  4 url = 'https://weibo.com/login.php'
  5 driver.get(url)
  6 driver.find_element_by_xpath('//*[@id="loginname"]').send_keys('147614')
  7 driver.find_element_by_xpath('//*[@id="pl_login_form"]/div/div[3]/div[2]/div/input').send_keys('123456')
  8 driver.find_element_by_xpath('//*[@id="pl_login_form"]/div/div[3]/div[6]/a').click()
  9 time.sleep(5)
   css_selector定位淘宝天猫超市
   1 from selenium import webdriver
  2 import time
  3 driver = webdriver.Chrome()
  4 url = 'https://www.taobao.com/'
  5 driver.get(url)
  6 driver.find_element_by_css_selector('body > div.tbh-nav.J_Module.tb-pass.tb-bg > div > ul.nav-hd > li:nth-child(3) > a').click()
  7 time.sleep(3)
  8 driver.close()
   定位一组元素58同城武汉租房
   1 from selenium import webdriver
  2 import  time
  3 driver = webdriver.Chrome()
  4 url = 'https://wh.58.com/chuzu/?PGTID=0d100000-0009-ebb3-f717-021d93569bfb&ClickID=2'
  5 driver.get(url)
  6 el = driver.find_elements_by_css_selector('body > div.list-wrap > div.list-box > ul > li > div.des > h2 > a.strongbox')
  7 print(el)
  8 for e in el:
  9     print("标题",e.text,"链接",e.get_attribute('href'))
  10 time.sleep(3)
  11 driver.close()
   刚开始还不明白一组是干嘛,目前感觉也比较少用,屡次失败解决了这个问题,
  可以先找到一个然后再找到上级,这样就可以定位出来一组了

      本文内容不用于商业目的,如涉及知识产权问题,请权利人联系博为峰小编(021-64471599-8017),我们将立即处理
《2023软件测试行业现状调查报告》独家发布~

关注51Testing

联系我们

快捷面板 站点地图 联系我们 广告服务 关于我们 站长统计 发展历程

法律顾问:上海兰迪律师事务所 项棋律师
版权所有 上海博为峰软件技术股份有限公司 Copyright©51testing.com 2003-2024
投诉及意见反馈:webmaster@51testing.com; 业务联系:service@51testing.com 021-64471599-8017

沪ICP备05003035号

沪公网安备 31010102002173号