Saya mencari sesuatu seperti:
getElementByXpath(//html[1]/body[1]/div[1]).innerHTML
Saya perlu mendapatkan innerHTML elemen menggunakan JS (untuk menggunakannya di Selenium WebDriver / Java, karena WebDriver tidak dapat menemukannya sendiri), tetapi bagaimana caranya?
Saya bisa menggunakan atribut ID, tetapi tidak semua elemen memiliki atribut ID.
[TETAP]
Saya menggunakan jsoup untuk menyelesaikannya di Jawa. Itu bekerja untuk kebutuhan saya.
html
danbody
penyeleksi berlebihan karena DIV harus merupakan turunan dari BODY (segera atau lebih dalam) dan BODY harus merupakan anak dari HTML, jadi asalkan tidak ada elemen DIV lain dalam dokumen,//DIV[1]
harus berfungsi (walaupun saya cukup cantik berkarat pada ekspresi XPath). Setara dengan DOM adalahdocument.getElementsByTagName('div')[1]
(atau mungkin0
).Jawaban:
Anda bisa menggunakan
document.evaluate
:Ini w3-standar dan seluruh didokumentasikan: https://developer.mozilla.org/en-US/docs/Web/API/Document.evaluate
https://gist.github.com/yckart/6351935
Ada juga pengantar yang bagus di jaringan pengembang mozilla: https://developer.mozilla.org/en-US/docs/Introduction_to_using_XPath_in_JavaScript#document.evaluate
Versi alternatif, menggunakan
XPathEvaluator
:Tampilkan cuplikan kode
sumber
XPathResult.FIRST_ORDERED_NODE_TYPE === 9
developer.mozilla.org/en-US/docs/…Di Alat Dev Chrome Anda dapat menjalankan yang berikut:
sumber
Untuk sesuatu seperti $ x dari api baris perintah chrome (untuk memilih beberapa elemen) coba:
Tinjauan umum MDN ini membantu: https://developer.mozilla.org/en-US/docs/Introduction_to_using_XPath_in_JavaScript
sumber
Anda dapat menggunakan dokumen javascript. Mengevaluasi untuk menjalankan ekspresi XPath pada DOM. Saya pikir itu didukung dalam satu atau lain cara di browser kembali ke IE 6.
MDN: https://developer.mozilla.org/en-US/docs/Web/API/Document/evaluate
IE mendukung SelectNodes sebagai gantinya.
MSDN: https://msdn.microsoft.com/en-us/library/ms754523(v=vs.85).aspx
sumber
Dengan asumsi tujuan Anda adalah untuk mengembangkan dan menguji permintaan xpath Anda untuk peta layar. Kemudian gunakan alat pengembang Chrome . Ini memungkinkan Anda untuk menjalankan kueri xpath untuk menampilkan kecocokan. Atau di Firefox> 9 Anda dapat melakukan hal yang sama dengan konsol Alat Pengembang Web . Dalam versi sebelumnya gunakan x-path-finder atau Firebug .
sumber
Pastikan Anda menggunakan locator yang tepat untuk itu.
sumber
sumber
sumber
Untuk mengarahkan langsung ke titik, Anda dapat dengan mudah menggunakan xapth. Cara tepat dan sederhana untuk melakukan ini menggunakan kode di bawah ini. Mohon coba dan berikan umpan balik. Terima kasih.
Bacaan lebih lanjut - https://medium.com/@smeesheady/webdriver-javascriptexecutor-interact-with-elements-and-open-and-handle-multiple-tabs-and-get-url-dcfda49bfa0f
sumber