Sử dụng xpath trong selenium python3

khi copy xpath từ FireFox được dạng: /html/body/section/div/div[2]/div[3]/div/section/ul/li[3]/a
còn khi copy xpath từ Chromium được dạng: //*[@id="ember30"]/a

Câu hỏi là tại sao e dùng copy xpath từ Firefox thì code của em không chạy được, đổi lại dùng chromium lại chạy ngon lành, e dùng geckodriver Firefox, python3.7 ạ. cảm ơn mọi người!

/html/body/section/div/div[2]/div[3]/div/section/ul/li[3]/a là absolute xpath, tức path cố định

còn //*[@id="ember30"]/a là relative xpath
2 cái tên là tự nó đã rõ nghĩa, khỏi giải thích ha

Nên sử dụng relative path khi có thể, còn cái path cố định thì khi nào kẹt lắm rồi hãy dùng.

Bạn đọc document ở đây, họ hướng dẫn rất kỹ, chỉ cần làm theo step by step là ok https://selenium-python.readthedocs.io/locating-elements.html

3 Likes

e hỏi tại sao cũng là nó mà đưa xpath dạng tuyệt đối thì không chạy được còn đưa xpath dạng tương đối thì lại chạy được ý…

83% thành viên diễn đàn không hỏi bài tập, còn bạn thì sao?