Saya mencari cara yang lebih elegan untuk menyegarkan halaman web selama pengujian (saya menggunakan Selenium2). Saya hanya mengirim kunci F5 tetapi saya bertanya-tanya apakah driver memiliki metode untuk menyegarkan seluruh halaman web. Berikut ini adalah kode saya
while(driver.findElements(By.xpath("//*[text() = 'READY']")).size() == 0 )
driver.findElement(By.xpath("//body")).sendKeys(Keys.F5);
//element appear after text READY is presented
driver.findElement(By.cssSelector("div.column a")).click();
Mungkin ada beberapa solusi yang lebih baik untuk menemukan elemen pada halaman yang di-refresh secara manual
selenium
refresh
webdriver
selenium-webdriver
pbaranski
sumber
sumber
driver.navigate().refresh()
di header permintaannya tertulis "no-cache" dan, sebagai hasilnya, tanpa syarat memuat kembali semua konten. Sedangkan menekan F5 dapat menghasilkan permintaan "Jika-Dimodifikasi-Sejak", itu bisa mendapatkan respons "304 Tidak Dimodifikasi". Anda harus mengingat perbedaan itu, jika Anda melakukan pengujian beban.Python ada metode untuk melakukan hal ini:
driver.refresh()
. Ini mungkin tidak sama di Jawa.Atau, Anda bisa
driver.get("http://foo.bar");
, meskipun saya pikir metode penyegaran seharusnya bekerja dengan baik.sumber
driver.get("http://foo.bar")
mungkin juga hanya menggunakandriver.get(driver.current_url)
Dengan python
Menggunakan metode bawaan
atau, menjalankan JavaScript
sumber
5 cara berbeda untuk me-refresh halaman web menggunakan Selenium Webdriver
Tidak ada pengkodean tambahan khusus. Saya baru saja menggunakan fungsi yang ada dalam berbagai cara untuk membuatnya berfungsi. Di sini mereka :
Menggunakan metode sendKeys.Keys
Menggunakan metode navig.refresh ()
Menggunakan metode navig.to ()
Menggunakan metode get ()
Menggunakan metode sendKeys ()
sumber
Ditemukan berbagai pendekatan untuk menyegarkan aplikasi dalam selenium: -
Untuk kode langsung, silakan merujuk tautan http://www.ufthelp.com/2014/11/Methods-Browser-Refresh-Selenium.html
sumber
Berikut adalah versi C # yang sedikit berbeda:
sumber
Alternatif untuk Refresh Halaman (F5)
(atau)
sumber
Satu hal penting yang perlu diperhatikan adalah bahwa panggilan driver.navigate (). Refresh () kadang-kadang tampaknya tidak sinkron, artinya tidak menunggu refresh selesai, itu hanya "memulai refresh" dan tidak memblokir eksekusi lebih lanjut saat browser memuat ulang halaman.
Walaupun ini hanya terjadi pada sebagian kecil kasus, kami memperkirakan bahwa lebih baik memastikan ini berfungsi 100% dengan menambahkan pemeriksaan manual apakah halaman tersebut benar-benar mulai memuat ulang.
Berikut kode yang saya tulis untuk itu di kelas objek halaman dasar kami:
Beberapa catatan:
Sekali lagi, dalam sebagian besar kasus, loop do / while berjalan satu kali karena kode di luar navigasi (). Refresh () tidak dijalankan sampai browser benar-benar memuat ulang halaman sepenuhnya, tetapi kami telah melihat kasus di mana sebenarnya butuh beberapa detik untuk melewati loop itu karena navigasi (). refresh () tidak memblokir sampai browser selesai memuat.
sumber
Anda juga bisa mencoba
sumber
Ada juga kasus ketika Anda ingin me-refresh hanya iframe khusus pada halaman dan bukan halaman penuh.
Yang Anda lakukan adalah sebagai berikut:
sumber
Dalam PHP:
sumber
Cara lain untuk menyegarkan halaman saat ini menggunakan selenium di Jawa.
Menggunakan ini akan menyegarkan halaman saat ini seperti mengklik bilah alamat browser dan menekan enter.
sumber
Di R Anda dapat menggunakan metode penyegaran, tetapi untuk memulai dengan kami menavigasi ke url menggunakan metode navigasi:
sumber