seleniumでウィジェットを書いて建設銀行カードの残高数を自動的に出力する
6128 ワード
最近seleniumを勉強して、小さなプログラムを書いて、みんなと分かち合いたいです.
その时、自分が建设した银行カードの残高を见たいと思って、ちょうど自分でseleniumを学んで、何も言わずに小さなプログラムを书いて実现するつもりです.結局書くと2,3日で、難しすぎます!
主にiframeに対して熟知していないで、ホームページのソースコードが多すぎるため、1層1層の、iframeを見つけていないで、結果はいつも指定の要素に位置決めできないで、無知な自分はまた各種の位置決め方法を試します.だから、エレメントが位置決めできないときはiframeやframeラベルを必ず探してください!!!
実装の詳細は、コードを参照してください.
その时、自分が建设した银行カードの残高を见たいと思って、ちょうど自分でseleniumを学んで、何も言わずに小さなプログラムを书いて実现するつもりです.結局書くと2,3日で、難しすぎます!
主にiframeに対して熟知していないで、ホームページのソースコードが多すぎるため、1層1層の、iframeを見つけていないで、結果はいつも指定の要素に位置決めできないで、無知な自分はまた各種の位置決め方法を試します.だから、エレメントが位置決めできないときはiframeやframeラベルを必ず探してください!!!
実装の詳細は、コードを参照してください.
from selenium import webdriver
import re #
# , ,
wd = webdriver.Firefox(executable_path='C:\Program Files\Mozilla Firefox\geckodriver.exe')
wd.implicitly_wait(10) # , , 10s
#
wd.get('https://ibsbjstar.ccb.com.cn/CCBIS/V6/common/login.jsp?UDC_CUSTOMER'
'_ID=&UDC_CUSTOMER_NAME=&UDC_COOKIE=2da16592d0e935b1kdZv3GDyLeRVE3R8b8yW1571840415014i5Kaq'
'fFTSBVCnuqacmJKc8cbc672eaecffc110f2528c6b8f25e3&UDC_SESSION_ID=yTAMSPlVAKXG0uv971fcc73931d-20200424215252')
# iframe ,
wd.switch_to.frame('fQRLGIN') #id='fQRLGIN'
#
element1 = wd.find_element_by_css_selector('#USERID')
#
element1.send_keys(' ')
#
element2 = wd.find_element_by_id('LOGPASS')
element2.send_keys(' ')
#
element3 = wd.find_element_by_id('loginButton')
# ,
element3.click()
# iframe,
wd.switch_to.default_content()
# iframe id name , index,
iframe = wd.find_element_by_xpath('//div[@id="w1"]/iframe')
# ,
wd.switch_to.frame(iframe)
#
element5 = wd.find_element_by_xpath('//div/h3/p/span[@class="data_money"]')
#
str1 = element5.get_attribute('textContent')
wd.switch_to.default_content()
# ,
result = re.search('\d*\d\.\d\d', str1)
# group(0) result
print(result.group(0)+' ')
wd.quit() #