在此頁面上,LINK_TEXT 'DAILY TREASURY PAR YIELD CURVE RATES' 顯然是大寫的。但是,它在 Chrome 中按 Ctrl-U 后生成的 html 中以小寫形式顯示為“每日國庫券 PAR 收益率曲線”。在 driver.page_source 中顯示的方式相同,其中 driver 是 selenium 的 webdriver,以及在將 page_source 傳遞給 Beautiful Soup 之后。
但是,只有當 LINK_TEXT 全部大寫時,selenium 才能識別元素,因為它在瀏覽器中。
到底是怎么回事?
uj5u.com熱心網友回復:
這是因為應用于h3頁面元素的 CSS 將其設為大寫:
h3 {
text-transform: uppercase !important;
letter-spacing: 2px !important;
line-height: 1.18 !important;
font-weight: 700 !important;
margin-top: 20px !important;
font-size: 24px !important;
color: #0053a3 !important;
margin: 20px 0 !important; }
WebDriver 的Get Element Text命令將在呈現文本時獲取文本,這將受到任何 CSS 規則對其作用的影響。
長話短說,這是 Selenium 中的預期行為。
參考:https ://w3c.github.io/webdriver/webdriver-spec.html#get-element-text
轉載請註明出處,本文鏈接:https://www.uj5u.com/houduan/425784.html
