selenium基本操作
总结了一下自己自学的一些心得与大家分享一下
下面是自己整理了一些selenium的基础api
#导入浏览器模块 from selenium import webdriver #打开浏览器 drive = webdriver.chorme() #访问网站 driver.get(url) #窗口最大化 driver.maximize_window() #窗口最小化 driver.minimize_window() #设置浏览器尺寸 driver.set_window_size(1480, 1800) #关闭当前窗口 driver.close() #关闭所有窗口 driver.quiet #前进 driver.forword() #后退 driver.back() #刷新 driver.refresh() #h获取当前路径 driver.current_url #获取当前标题 driver.title # elements代表定位一组元素而element单个 #根据ID定位单独元素或元素集合 driver.find_element_by_id() driver.find_elements_by_id() #根据tag_name定位单独元素或元素集合 driver.find_element_by_tag_name() driver.find_elements_by_tag_name() #根据className定位单独元素或者元素集合 driver.find_element_by_class_name() driver.find_elements_by_class_name() #根据链接文本定位 driver.find_element_by_link_text() driver.find_elements_by_link_text() #根据部分链接文本定位 driver.find_element_by_partial_link_text() driver.find_elements_by_partial_link_text() #根据xpath定位 driver.find_element_by_xpath() driver.find_elements_by_xpath() #根据name定位 driver.find_element_by_name() driver.find_elements_by_name() #根据css定位 driver.find_element_by_css_selector() driver.find_elements_by_css_selector() #点击操作 el.click #像输入标签输入文本 el.send_keys(data) #清空输入框 el.clear() #获取文本内容 el.text #获取元素属性 el.get_attribute(value) #获取元素尺寸 el.size #检查元素是否可见? el.is_displayed()?
ID定位去哪儿网点击邮轮
from selenium import webdriver driver = webdriver.Chrome() url = ‘https://www.qunar.com/‘ driver.get(url) driver.find_element_by_id(‘__link_youlun__‘).click() driver.back() driver.close()
tag_name定位百度必应搜索
from selenium import webdriver import time # 开浏览器 driver = webdriver.Chorme() # 访问bing搜索 url = ‘https://cn.bing.com/‘ driver.get(url) # 通过标签名进行定位,该元素要么唯一,要么是第一个 el = driver.find_element_by_tag_name(‘input‘) el.send_keys(‘selenium‘) # 通过id定位到搜索按钮 el_sub = driver.find_element_by_id(‘sb_form_go‘) # 点击搜索 el_sub.click() time.sleep(5) 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同城
from selenium import webdriver import time # 开一个浏览器 driver = webdriver.Chrome() # 访问北京58 url = ‘http://bj.58.com/‘ driver.get(url) # 通过连接文本(可以跳转的问题)进行定位 el = driver.find_element_by_link_text(‘租房‘) el.click() time.sleep(3) driver.close()
partial_link_text定位hao123网站
from selenium import webdriver import time # 开一个浏览器 driver = webdriver.Chrome() # 访问百度 url=‘https://www.baidu.com/‘ driver.get(url) # 通过部分连接文本进行元素定位 # el = driver.find_element_by_partial_link_text(‘hao‘).click() el = driver.find_element_by_partial_link_text(‘123‘).click() 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定位新浪微博登录
from selenium import webdriver import time driver = webdriver.Chrome() url = ‘https://weibo.com/login.php‘ driver.get(url) driver.find_element_by_xpath(‘//*[@id="loginname"]‘).send_keys(‘147614‘) driver.find_element_by_xpath(‘//*[@id="pl_login_form"]/div/div[3]/div[2]/div/input‘).send_keys(‘123456‘) driver.find_element_by_xpath(‘//*[@id="pl_login_form"]/div/div[3]/div[6]/a‘).click() time.sleep(5)
css_selector定位淘宝天猫超市
from selenium import webdriver import time driver = webdriver.Chrome() url = ‘https://www.taobao.com/‘ driver.get(url) 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() time.sleep(3) driver.close()
定位一组元素58同城武汉租房
from selenium import webdriver import time driver = webdriver.Chrome() url = ‘https://wh.58.com/chuzu/?PGTID=0d100000-0009-ebb3-f717-021d93569bfb&ClickID=2‘ driver.get(url) el = driver.find_elements_by_css_selector(‘body > div.list-wrap > div.list-box > ul > li > div.des > h2 > a.strongbox‘) print(el) for e in el: print("标题",e.text,"链接",e.get_attribute(‘href‘)) time.sleep(3) driver.close()
刚开始还不明白一组是干嘛,目前感觉也比较少用,屡次失败解决了这个问题,
可以先找到一个然后再找到上级,这样就可以定位出来一组了
相关推荐
xiangxiaojun 2020-09-23
letheashura 2020-08-14
王练 2020-07-18
xiangxiaojun 2020-06-25
Feastaw 2020-06-18
云之高水之远 2020-06-14
Reiki 2020-06-12
songerxing 2020-06-11
王练 2020-06-11
tiankele0 2020-06-09
云之高水之远 2020-06-05
Reiki 2020-07-06
Reiki 2020-08-16
tiankele0 2020-07-29
curiousL 2020-07-18
tiankele0 2020-07-18