selenium基本操作
Posted zqxfly
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了selenium基本操作相关的知识,希望对你有一定的参考价值。
总结了一下自己自学的一些心得与大家分享一下
下面是自己整理了一些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()
刚开始还不明白一组是干嘛,目前感觉也比较少用,屡次失败解决了这个问题,
可以先找到一个然后再找到上级,这样就可以定位出来一组了
以上是关于selenium基本操作的主要内容,如果未能解决你的问题,请参考以下文章
Selenium JavascriptExecutor 详解