Python+selenium 易班自動(dòng)化發(fā)動(dòng)態(tài)

設(shè)計(jì)思路:

1、環(huán)境部署

selenium的安裝

1、pip install selenium
2、包安裝
*官網(wǎng) 洋蔥還是可以訪問(wèn)的
https://docs.seleniumhq.org/
*selemnium官網(wǎng)已墻所以使用第三方訪問(wèn)
https://pypi.org/project/selenium/

將包解壓在Python目錄下
cd 該目錄
python setup.py build
python setup.py install

issue
環(huán)境配置問(wèn)題詳見(jiàn)知乎干文
知乎干貨-鋼鐵是怎樣摧殘的

webdriver 驅(qū)動(dòng)的安裝
官網(wǎng)selenium
在Third Party Drivers, Bindings, and Plugins標(biāo)題下下載相關(guān)驅(qū)動(dòng)
然后解壓到Python 的目錄下

設(shè)置環(huán)境變量
path

C:\Python27\Scripts;C:\Python27;C:\Python27\selenium;

2、代碼設(shè)計(jì)

目標(biāo)網(wǎng)站
登錄地址

登錄界面

引用模塊并初始化

from selenium import webdriver
wd = webdriver.Firefox()
#打開(kāi)瀏覽器
wd.get("https://www.yiban.cn/login?go=https%3A%2F%2Fwww.yiban.cn%2F")
#網(wǎng)頁(yè)跳轉(zhuǎn)
wd.maximize_window()
#放大窗口
填充表單、登錄
#查找html id獲取位置
element_time=wd.find_element_by_id(u'account-txt')
element_time.send_keys(u'123456789')#填充用戶名
element_time=wd.find_element_by_id('password-txt')
element_time.send_keys(u'password')#填充密碼
element_time=wd.find_element_by_id(u'login-btn')
element_time.click()#模擬點(diǎn)擊
push.png
wd.get("https://www.yiban.cn/my/publishfeed")#跳轉(zhuǎn)到發(fā)動(dòng)態(tài)頁(yè)面
element_time=wd.find_element_by_class_name(u'textarea')
element_time.send_keys(u'hello')
iss.png

按鈕名字和class這些重復(fù)了,所以就不能用模糊的類來(lái)查找了

重復(fù)會(huì)導(dǎo)致沖突.png

使用XPath路徑 絕對(duì)路徑解決
XPath.png
element_time=wd.find_element_by_xpath(u'/html/body/main/div/section/div[2]/div/div/a")
element_time.click()
from selenium import webdriver

wd = webdriver.Firefox()
wd.get("https://www.yiban.cn/login?go=https%3A%2F%2Fwww.yiban.cn%2F")
wd.maximize_window()
os.system("pause")
element_time=wd.find_element_by_id(u'account-txt')
element_time.send_keys(u'123456789')
element_time=wd.find_element_by_id('password-txt')
element_time.send_keys(u'password')
element_time=wd.find_element_by_id(u'login-btn')
element_time.click()
#
wd.get("https://www.yiban.cn/my/publishfeed")
element_time=wd.find_element_by_class_name(u'textarea')
element_time.send_keys(u'hello')
element_time=wd.find_element_by_xpath(u'/html/body/main/div/section/div[2]/div/div/a")
element_time.click()

相關(guān)支持連接可參考:

關(guān)于元素的定位
頁(yè)面元素定位

  • 本文僅供參考 只提供實(shí)現(xiàn)過(guò)程 原理以及習(xí)慣函數(shù) 請(qǐng)?jiān)斠?jiàn)其他貼子或官網(wǎng)
  • 此貼見(jiàn)笑了 有問(wèn)題還望大佬們多多批評(píng)指點(diǎn)
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容