1. 程式人生 > 其它 >Python《使用Selenium實現自動化操作》

Python《使用Selenium實現自動化操作》

技術標籤:Pythonseleniumpython

一:準備工作
本文不貼任何圖片
1:先下載安裝Selenium ,在conda的環境下直接使用 conda install Selenium

2:檢視瀏覽器版本
在瀏覽器位址列輸入chrome://settings/help 則可以檢視瀏覽器版本

3:接著需要下載Chrome瀏覽器驅動,根據自己的瀏覽器版本,地址如下:
https://sites.google.com/a/chromium.org/chromedriver/downloads

驅動下載完後放置在一個目錄下,比如是:
在這裡插入圖片描述

二:測試整起
1:登入百度

from selenium import
webdriver chromeExeLoc = 'D:/software/chrome/chromedriver_win32/chromedriver.exe' def test1(): browser = webdriver.Chrome(chromeExeLoc) browser.get('https://www.baidu.com/') if __name__ == "__main__": test1()

2:找到W3C的python教程頁,並且在其輸入框輸入一串文字

from selenium import webdriver
from selenium.
webdriver.common.keys import Keys import time chromeExeLoc = 'D:/software/chrome/chromedriver_win32/chromedriver.exe' def test2(): driver = webdriver.Chrome(chromeExeLoc) driver.get("https://www.runoob.com/python/python-tutorial.html") # 找到對應的右上角最大的搜尋框,並且輸入一串文字 # elem = driver.find_element_by_id("s") # 方法一:根據id找到元素
elem = driver.find_element_by_xpath("//*[@id='s']") # 方法一:根據xpath找到元素,檢查元素,copy元素,cpoy xpath就可以得到。 elem.send_keys("I Love China!") time.sleep(2) elem.send_keys(Keys.RETURN) print(driver.page_source) if __name__ == "__main__": test2()

3:開啟百度一下的首頁搜尋“星海千尋”

from selenium import webdriver
from selenium.webdriver.common.keys import Keys
import time

chromeExeLoc = 'D:/software/chrome/chromedriver_win32/chromedriver.exe'



def test3():
    driver = webdriver.Chrome(chromeExeLoc)
    driver.get("https://www.baidu.com")

    # 找到百度搜索框,並且輸入“星海千尋”
    elem = driver.find_element_by_xpath('//*[@id="kw"]')
    elem.send_keys("星海千尋")
    time.sleep(2)
    elem.send_keys(Keys.RETURN)
    time.sleep(20)

if __name__ == "__main__":
    test3()

4:登入booking網站

from selenium import webdriver
from selenium.webdriver.common.keys import Keys
import time

chromeExeLoc = 'D:/software/chrome/chromedriver_win32/chromedriver.exe'

def loginBooking(username, password):
    driver = webdriver.Chrome(chromeExeLoc)
    driver.maximize_window()
    driver.implicitly_wait(5)
    driver.get("https://www.booking.com/index.zh-cn.html")
    time.sleep(1)

    # 模擬點選booking登入介面,之後會原地跳轉到新的介面
    loginBtn = driver.find_element_by_id('b_tt_holder_1')
    if loginBtn is None:
        loginBtn = driver.find_element_by_id('b_tt_holder_2')
    loginBtn.click()
    time.sleep(1)

    # 找到使用者名稱輸入框,輸入對應的使用者名稱
    driver.find_element_by_xpath('//*[@id="username"]').send_keys(username)
    driver.find_element_by_xpath('//*[@id="root"]/div/div[2]/div[1]/div/div/div/div/div/div/form/div[3]/button').click()
    time.sleep(1)

    # 找到密碼輸入框,輸入對應的密碼
    driver.find_element_by_xpath('//*[@id="password"]').send_keys(password)
    driver.find_element_by_xpath('//*[@id="root"]/div/div[2]/div[1]/div/div/div/div/div/div/form/button').click()
    time.sleep(1)

    # 點選登入按鈕
    driver.find_element_by_xpath('//*[@id="login-form"]/div[4]/button').click()
    time.sleep(20)


if __name__ == "__main__":
    loginBooking('[email protected]', 'Jd12345678')