2022年9月22日 星期四

org mode 中類似 notion.so 的側欄 -- org-sidebar


notion 在主畫面的左邊有個 sidebar,這在 org mode 中可以使用 org-sidebar 來做到一樣的效果

參考 alphapapa/org-sidebar: A helpful sidebar for Org mode 進行安裝


2022年9月15日 星期四

2022年9月6日 星期二

2002/6/24 發佈的 Selenium 4.3.0 正式移除 find_element_by_* 及 find_elements_by_* 函式

應該感謝這些 breaking changes 讓攻城獅/程序猿等眾動物有口飯吃(嗎?)

配合一些 Selenium 比較聰明的等待機制,而不要呆呆的 sleep(10000)

大概的SOP如下:

  1. 匯入要用的模組,例如
    1. from selenium import webdriver
    2. from selenium.webdriver.support.ui import Select
    3. from selenium.webdriver.common.by import By 
    4. from selenium.webdriver.support.ui import WebDriverWait
    5. from selenium.webdriver.support import expected_conditions as EC
  2. 設定等待秒數上限
    1. timeout = WebDriverWait(driver, 10)
  3. 使用組合拳
    1. timeout.until(EC.element_to_be_clickable(driver.find_element(By.ID, 'login_button'))).click()

較詳細的 api 說明可參考 python自動化測試工具selenium使用指南 ,但請忽略 find_element_by_*



2022年9月4日 星期日

Windows 10編譯 node.js 專案中native modules 時注意事項

有許多專案用到 native addon module 如 node-gyp 在 windows 平台(尤其是 windows 10) 編譯時會出現錯誤訊息。如 Configuring your Windows development environment 所述,主要有兩個可能出現的問題點:

未安裝 Build Tools for Visual Studio 2017 (version 15.0)

錯誤訊息可能如下

gyp ERR! stack Error: spawn C:\Program Files (x86)\Microsoft Visual Studio\2019\BuildTools\MSBuild\15.0\Bin\MSBuild.exe ENOENT1

解決方案是到以下網頁下載並安裝(可能必需註冊、登入,可使用 github 帳號)

https://my.visualstudio.com/Downloads?q=visual%20studio%202017&wt.mc_id=o~msft~vscom~older-downloads

未安裝/設定 python 2.7

錯誤訊息通常是找不到某個 python2.exe

解決方案參以下連結中 it3xl 發言的 option 1 

https://stackoverflow.com/questions/45801457/node-js-python-not-found-exception-due-to-node-sass-and-node-gyp

我的作法是在 anaconda 中新增一個 python 2.7 環境,設定環境變數,複製執行檔