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()

刚开始还不明白一组是干嘛,目前感觉也比较少用,屡次失败解决了这个问题,

可以先找到一个然后再找到上级,这样就可以定位出来一组了

 


免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM