总结了一下自己自学的一些心得与大家分享一下
下面是自己整理了一些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()
刚开始还不明白一组是干嘛,目前感觉也比较少用,屡次失败解决了这个问题,
可以先找到一个然后再找到上级,这样就可以定位出来一组了