1. 程式人生 > >自學Selenium-python(第一篇)

自學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')