畑乃おいも / Hatano Oimo
214 字
1 分鐘
selenium 快速取得元素靠這招
想要做的事情
我想要自動滑動到憲法的第 43 條,在法條之中 CSS class=”row”非常多,這時自己慢慢算或是使用 BeautifulSoup 去找很耗時間,要靠的是 Chrome 的工具,按下 F12 或 Ctrl + Shift + I 可開啟。
使用 ActionChains 捲動
from selenium import webdriverfrom time import sleepfrom selenium.webdriver.common.by import Byfrom selenium.webdriver.common.action_chains import ActionChains
url="https://law.moj.gov.tw/LawClass/LawAll.aspx?pcode=A0000001"driver=webdriver.Chrome("C:/anaconda/chromedriver.exe") #驅動 路徑請設定自己的檔案路徑driver.get(url)driver.maximize_window()sleep(0.3)
#element = driver.find_element_by_id("my-id")
content = driver.find_element(By.XPATH, '//*[@id="pnLawFla"]/div/div[48]') #元素位置
actions = ActionChains(driver)actions.move_to_element(content).perform()使用 javascript 捲動
from selenium import webdriverfrom time import sleepfrom selenium.webdriver.common.by import By
url="https://law.moj.gov.tw/LawClass/LawAll.aspx?pcode=A0000001"driver=webdriver.Chrome("C:/anaconda/chromedriver.exe") #驅動 路徑請設定自己的檔案路徑driver.get(url)driver.maximize_window()sleep(0.3)
#element = driver.find_element_by_id("my-id")
content = driver.find_element(By.XPATH, '//*[@id="pnLawFla"]/div/div[48]') #元素位置
driver.execute_script("arguments[0].scrollIntoView();", content)參考文章:你想學更多關於 Scroll 以下可以看看
selenium 快速取得元素靠這招
https://aishuafei.com/posts/selenium-快速取得元素靠這招/