Please enable Javascript to view the contents

selenium 快速取得元素靠這招

 ·   ·  ☕ 1 分鐘  ·  ✍️ JK

想要做的事情

我想要自動滑動到憲法的第43條,在法條之中CSS class=”row”非常多,這時自己慢慢算或是使用BeautifulSoup去找很耗時間,要靠的是Chrome的工具,按下F12或Ctrl + Shift + I可開啟。

使用ActionChains 捲動

from selenium import webdriver
from time import sleep
from selenium.webdriver.common.by import By
from 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 webdriver
from time import sleep
from 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 以下可以看看

分享

JK
作者
JK
學習筆記