自学Selenium-python(第一篇)

1、打开浏览器,测试selenium是否能使用

# coding = utf-8
from selenium import webdriver
driver = webdriver.Chrome()
# 打开百度新闻
driver.get('http://news.baidu.com/')
time.sleep(2)

测试成功打开浏览器
2、进行一些其他的小操作

# 输出网页的标题
print(driver.title)
# browser.page_source是获取网页的全部html
print(driver.page_source)

3、获取网页单个标签的内容

'''【常用定位方法】
1、通过ID定位
方法:find_element_by_id('xx')
2、通过name定位
方法:find_element_by_name('xx')
3、通过class name定位
方法:find_element_by_class_name('xx')
4、通过tag name定位
方法:find_element_by_tag_name('xx')
说明:tag name在html中是标签的名字,在一个页面上会有很多个标签的名字相同。这种定位方法适用于需要定位一组元素时。'''
title = driver.find_element_by_class_name("hotwords_li_a")
hotwords = driver.find_element_by_xpath("//a[@class = 'hotwords_li_a']")
# 获取元素属性
print(hotwords.get_attribute("href"))
# 获取元素文本值
print(hotwords.text)
# 暂停5s等待网页加载
time.sleep(5)

4、网页操作,在搜索框自动输入内容并搜索

# 打开百度新闻,在搜索框数据字符串并进行搜索。
search = driver.find_element_by_id("ww")
searchBtn = driver.find_element_by_id("s_btn_wr")
search.send_keys("python")
searchBtn.click()
time.sleep(5)

5、进度条下拉(大部分网页适用)通过代码执行JavaScript

driver = webdriver.Chrome()
driver.get('http://news.baidu.com/')
driver.execute_script('window.scrollTo(0, document.body.scrollHeight)')
driver.execute_script('alert("To Bottom")')

6、在同一窗口一次前进后退打开多个网页

# 前进后退-实现浏览器的前进后退以浏览不同的网页
driver = webdriver.Chrome()
driver.get('https://www.baidu.com/')
time.sleep(3)
driver.get('http://news.baidu.com/')
time.sleep(5)
driver.get('http://www.51testing.com/zhuanti/selenium.html/')
time.sleep(5)
# 返回到上一页面(后退)
driver.back()
time.sleep(1)
# 进入之后进入的页面(前进)
driver.forward()
driver.close()

7、增加浏览器窗口

driver = webdriver.Chrome()
driver.get('https://www.baidu.com')
# 建立一个新窗口
driver.execute_script('window.open()')
print(driver.window_handles)
# 在新窗口中打开网页
driver.switch_to_window(driver.window_handles[1])
driver.get('http://news.baidu.com/')
# 建立一个新窗口
driver.execute_script('window.open()')
time.sleep(1)
# 在新窗口中打开网页
driver.switch_to_window(driver.window_handles[2])
driver.get('http://www.51testing.com')

8、异常处理

try:
    browser = webdriver.Chrome()
    browser.get('http://www.baidu.com')
except:
    print('Time Out')
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值