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

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

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

相关推荐