創作內容

0 GP

動態網頁 selenium 使用

作者:艾倫D索妮雅│2020-07-26 11:29:42│巴幣:0│人氣:348
使用時要打
from selenium import webdriver

#然後選取一個瀏覽器,最常用為chrome (要先下載chrome driver)
driver = webdriver.Chrome("路徑/chromedriver.exe")

#利用driver打開目標網站
driver.get('目標網頁的url')

打開之後可以使用的一些操作
1. driver.page_source 取得網頁原始碼

2. driver.find_element_by_name('利用name尋找要找的標籤')
->若網頁中我們要找的目標 其標籤元素 裡頭有name 即可使用此法
ex.
若目標標籤為<input type='text' name='username'>,可找裡頭的name='username'
driver.find_element_by_name('username')

3. driver.find_element_by_id('利用id尋找要找的標籤') 同name用法

4.driver.find_element_by_class('利用class尋找要找的標籤') 同name用法

5.driver.find_element_by_Xpath('利用Xpath尋找要找的標籤')
->當標籤裡沒有id也沒有name時可利用此法,它會把整個網頁原始碼看成一大文件那樣
然後每個標籤都是它的子文件 標籤中又有更小的子文件 有點像電腦中的檔案路徑那樣
ex.
<html>
<head> ..... </head>
<body>
   <div class = 'id'>
       <form class = '_form' method='get' action = 'http://.....'>
             <input type='text' autocomplete="username">
             <input type='password' autocomplete="current-password">
       </form>
   </div>
</body>
</html>
此時若要選擇 <input type='text' autocomplete="username">這標籤 有以下幾種寫法:
-1. driver.find_element_by_xpath(" //*[@autocomplete='username'] ")
-2. driver.find_element_by_xpath(" //input[@autocomplete='username'] ")
-3. driver.find_element_by_xpath(" //form[@class="_form"]/input[@autocomplete='username'] ")
-4. driver.find_element_by_xpath(
"//div[@class='id']/form[@class='_form']/input[@autocomplete='username']")
最後找到標籤並給予它一個變數My_user
My_user = driver.find_element_by_xpath(" //input[@autocomplete='username'] ")

此之後即可利用My_user對此<input>來進行操作啦~

6.對<input>進行操作
若要對剛取得的input 進行值or字串的輸入 可利用send_keys()
ex.
My_user = driver.find_element_by_xpath(" //input[@autocomplete='username'] ")
My_user.send_keys("你要輸入的東西")
此時程式就會幫你在網頁中的<input>中,輸入你所要輸入的東西了
之後可再利用click() or submit() 讓程式對網頁進行資料傳送....
My_user.submit() ---->強調表單傳送
My_user.click() ----->強調事件觸發

另外也可利用Keys_RETURN來達成資料傳送:
My_user.send_keys(Keys_RETURN) --->代表程式對網頁按下enter鍵,所以會傳送資料
使用前必須先
from selenium.webdriver.common.keys import Keys 匯入Keys模組
Keys模組中有這些使用法
# 2、鍵盤事件
# send_keys(Keys.BACK_SPACE) 刪除鍵(BackSpace)
# send_keys(Keys.SPACE) 空格鍵(Space)
# send_keys(Keys.TAB) 製表鍵(Tab)
# send_keys(Keys.ESCAPE) 回退鍵(Esc)
# send_keys(Keys.ENTER) 回車鍵(Enter)
# send_keys(Keys.CONTROL,'a') 全選(Ctrl+A)
# send_keys(Keys.CONTROL,'c') 複製(Ctrl+C)
# send_keys(Keys.CONTROL,'x') 剪下(Ctrl+X)
# send_keys(Keys.CONTROL,'v') 貼上(Ctrl+V)
# send_keys(Keys.F1) 鍵盤F1
# ……
# Send_keys(Keys.F5)鍵盤F5
# …
# send_keys(Keys.F12) 鍵盤F12

引用網址:https://home.gamer.com.tw/TrackBack.php?sn=4861775
All rights reserved. 版權所有,保留一切權利

相關創作

留言共 0 篇留言

我要留言提醒:您尚未登入,請先登入再留言

喜歡★arthur850512 可決定是否刪除您的留言,請勿發表違反站規文字。

前一篇:Unity3D 紀錄1.... 後一篇:nhentai craw...

追蹤私訊切換新版閱覽

作品資料夾

sakata21大家
快來看看孑世界的 宮廷新篇章漫畫吧~~看更多我要大聲說昨天23:01


face基於日前微軟官方表示 Internet Explorer 不再支援新的網路標準,可能無法使用新的應用程式來呈現網站內容,在瀏覽器支援度及網站安全性的雙重考量下,為了讓巴友們有更好的使用體驗,巴哈姆特即將於 2019年9月2日 停止支援 Internet Explorer 瀏覽器的頁面呈現和功能。
屆時建議您使用下述瀏覽器來瀏覽巴哈姆特:
。Google Chrome(推薦)
。Mozilla Firefox
。Microsoft Edge(Windows10以上的作業系統版本才可使用)

face我們了解您不想看到廣告的心情⋯ 若您願意支持巴哈姆特永續經營,請將 gamer.com.tw 加入廣告阻擋工具的白名單中,謝謝 !【教學】