iT邦幫忙

0

python 控制 chrome動態選項

  • 分享至 

  • xImage

https://ithelp.ithome.com.tw/upload/images/20220415/20144798axnIrjQuRo.png
選項是動態的,左邊有非常多選項
點選後會跳到右邊
且一次只能選擇一個項目
我使用這個語法但都沒有反應,選項都不會移動到右邊
driver.find_element_by_xpath('XXXXX').click()

以下附上語法,跟選項的html資訊

#開啟瀏覽器
from selenium import webdriver
PATH = "C:/Users/USER/Desktop/chromedriver.exe"
driver = webdriver.Chrome(PATH)
driver.get("網址")
 
 #登入
USERID = driver.find_element_by_name("userid")
USERID.send_keys("帳號")
USERPWD = driver.find_element_by_name("passwd")
USERPWD.send_keys("密碼")
driver.find_element_by_xpath('//*[@id="logIn"]').click()

#點選到對應頁面-記錄查詢
driver.find_element_by_xpath('XXXXX').click()

#點選動態選項
driver.find_element_by_xpath('XXXXX').click()

https://ithelp.ithome.com.tw/upload/images/20220415/20144798awSsPBpDYX.png

看更多先前的討論...收起先前的討論...
froce iT邦大師 1 級 ‧ 2022-04-15 12:35:29 檢舉
像這種用javascript控制的,你要先wait等他原件出來,直接click通常是抓不到的。
oserjeng iT邦新手 5 級 ‧ 2022-04-15 12:42:27 檢舉
我有讓網頁等待,可是他還是無法選取耶
driver.implicitly_wait(6)
jiatool iT邦研究生 2 級 ‧ 2022-04-15 21:18:05 檢舉
確定 xpath 路徑沒錯嗎?
或者可能被包在 iframe 裡?
有沒有錯誤訊息?
oserjeng iT邦新手 5 級 ‧ 2022-04-18 09:25:06 檢舉
xpath 路徑是直接用複製的耶~應該不會錯
oserjeng iT邦新手 5 級 ‧ 2022-04-18 09:26:47 檢舉
錯誤訊息是說找不到這個元素

NoSuchElementException: no such element: Unable to locate element: {"method":"xpath","selector":"/html/body/table/tbody[1]/tr[2]/td/span[4]/button[1]"}
(Session info: chrome=100.0.4896.88)
oserjeng iT邦新手 5 級 ‧ 2022-04-18 09:33:48 檢舉
剛才比對後發現,左邊的每一個動態選項的xpath都一模一樣

左邊的xpath每一個都是
/html/body/table/tbody[2]/tr/td/table/tbody/tr[2]/td[1]/div/div[1]/a

但選擇移動到右邊會變成
/html/body/table/tbody[2]/tr/td/table/tbody/tr[2]/td[3]/div/div/a
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友回答

立即登入回答