Saya sedang mengerjakan selenium python di firefox. Saya mencoba mencari elemen dengan pemilih css
element = "span:contains('Control panel')"
my_driver.find_element_by_css_selector(element)
Saya mendapatkan kesalahan di bawah ini
raise exception_class(message, screen, stacktrace)
selenium.common.exceptions.InvalidSelectorException: Message: Given css selector expression "span:contains('Control panel')" is invalid: InvalidSelectorError: 'span:contains('Control panel')' is not a valid selector: "span:contains('Control panel')"
Di selenium IDE saya berhasil menemukan elemen dengan bidang ini tetapi di Python tidak berfungsi
Penggunaan css_selector
untuk mencari elemen dengan teks tidak didukung di Selenium (meskipun ini akan bekerja di konsol alat pengembang). Satu-satunya kemungkinan adalahxpath
element = "//span[contains(text(), 'Control panel')]"
my_driver.find_element_by_xpath(element)
Edit: komentar oleh @FlorentB:
A
css selector
juga tidak didukung oleh konsol, tetapi JQuery mendukungnya. Dari$('...')
konsol adalah singkatandocument.querySelector
yang umumnya diganti dengan JQuery saat halaman memilikinya.
Kesalahan mengatakan itu semua:
selenium.common.exceptions.InvalidSelectorException: Message: Given css selector expression "span:contains('Control panel')" is invalid: InvalidSelectorError: 'span:contains('Control panel')' is not a valid selector: "span:contains('Control panel')"
Sesuai Issue#987
dan Issue#1547
:
The :contains pseudo-class isn't in the CSS Spec and is not supported by either Firefox or Chrome (even outside WebDriver).
Kelas semu khusus untuk Sizzle Selector Engine
yang Selenium 1.0
diandalkan. Tapi, diputuskan WebDriver
itu tidak akan mendukung Sizzle
gaya CSS selectors
yang Selenium 1.0
digunakan.
Sekarang, fakta yang menarik adalah : berisi pseudo-class
akan berfungsi untuk browser yang tidak mendukung pemilih CSS secara bawaan (IE7, IE8, dll) yang menyebabkan ketidakkonsistenan antara browser dan pemilih.
Karenanya solusi yang lebih baik adalah menggunakan atribut lain dari <span>
tag sebagai berikut:
element = "span[attribute_name=attribute_value]"
Anda dapat menggunakan salah satu dari xpath berikut sesuai dengan Pohon DOM yang berlaku :
Menggunakan text()
:
element = my_driver.find_element_by_xpath("//span[text()='Control panel']")
Menggunakan contains()
:
element = my_driver.find_element_by_xpath("//span[contains(.,'Control panel')]")
Menggunakan normalize-space()
:
element = my_driver.find_element_by_xpath("//span[normalize-space()='Control panel']")
Anda juga dapat menggunakan jQuery sebagai berikut:
$('span:contains("Control panel")')
Komentar berharga dari @FlorentB.
Pemilih CSS juga tidak didukung oleh konsol, tetapi
JQuery
mendukungnya. Dari$('...')
konsol adalah singkatandocument.querySelector
yang biasanya diganti denganJQuery
saat halaman memilikinya.
Jana Duggar terbuka tentang pencarian cintanya. Inilah semua yang dia katakan tentang topik dan jendela lima tahun untuk menikah.
Bintang 'Outlander' Sam Heughan baru-baru ini mengungkapkan apa yang akan dia ambil dari lokasi syuting untuk mengingat Jamie Fraser, peran yang membuatnya menjadi bintang.
'She Loves You' ditulis dalam satu jam, direkam dalam sehari, dan merupakan lagu The Beatles dengan salah satu penampilan terbaik dalam karir mereka.
Dolly Parton dan Nenek Bessie memiliki hubungan khusus. Nenek Parton sakit parah, tapi itu tidak menghentikan Dolly untuk mengerjainya.
Untuk memahami perbedaan antara pemikiran objektif dan subjektif, penting untuk memahami apa yang membuat masing-masing jenis penalaran menjadi unik. Informasi subjektif didasarkan pada pendapat atau perasaan pribadi mengenai pokok bahasan tertentu. Sebaliknya, informasi objektif bersifat faktual, berbasis data, dan tidak bias.
Saat membahas cuaca, kelembapan adalah topik pembicaraan dan kekhawatiran yang terus-menerus, terutama selama bulan-bulan musim panas yang lembap. Ketika orang berkata, "Setidaknya cuacanya kering," itu hanyalah cara lain untuk mengatakan, "Wah! Setidaknya cuacanya tidak lembap!"
Badak Sumatera merupakan spesies badak tertua yang hidup saat ini, namun terdapat kemungkinan 90% populasi yang tersisa akan punah dalam 60 tahun ke depan.
Air travel is far more than getting from point A to point B safely. How much do you know about the million little details that go into flying on airplanes?
“Children” merilis cameo dengan nama besar dan beberapa berita buruk
RAV4 ini diklaim dalam kondisi sangat baik dan siap digunakan untuk permainan kursi musik.
Rekaman drone memperlihatkan petugas pemadam kebakaran yang tampak kesulitan memadamkan api.
Eyes of Wakanda terhubung langsung dengan MCU, ditambah pembaruan tentang X-Men '97, What If..., Daredevil, dan banyak lagi.
'Laguna Beach' mengikuti kehidupan siswa sekolah menengah Lauren Conrad, Kristin Cavallari, Stephen Colletti, dan banyak lagi pada pertengahan tahun 2000-an. Berikut ini adalah tempat tinggal para pemeran serial realitas MTV tersebut sekarang.
Ava Gardner pernah menikah dengan Mickey Rooney dan Frank Sintra, dan ia pernah berpacaran dengan beberapa bintang Hollywood lainnya. Berikut ini kilas balik riwayat berpacaran Ava Gardner.
John Cleese menikahi istrinya, Jennifer Wade, pada tahun 2012. Berikut semua yang perlu Anda ketahui tentang istri John Cleese, Jennifer Wade.
Berikut semua yang perlu Anda ketahui tentang Francie Frane, mantan peternak yang menikah dengan Dog the Bounty Hunter.
Itu mengejutkan saya Tiba-tiba seperti yang sering terjadi Ini di tengah jalan lagi <Tidak, bukan yang di pasifik Anda merah marun, yang di karnaval> Setiap berita utama keras…..
Di tahun 2022, dengan dirilisnya GPT-3, kemampuan menulis sepertinya menjadi kurang penting. Dengan AI, orang dengan tulisan yang buruk juga dapat menghasilkan staf yang berkualitas.
Di dunia yang serba cepat dan kompetitif saat ini, karier seseorang memainkan peran penting dalam pertumbuhan pribadi, stabilitas keuangan, dan kepuasan hidup secara keseluruhan. Namun, banyak orang menemukan diri mereka terjebak dalam siklus stagnasi dan ketidakpuasan tanpa henti, secara bertahap menyia-nyiakan kehidupan profesional mereka.
Minggu lalu saya melihat siaran pers, dikirim melalui PressGazette (situs web berita media Inggris). Artikel tersebut mengumumkan bahwa Acast, perusahaan hosting dan periklanan podcast Scandi, akan memimpin konsorsium penerbit "mungkin yang paling berpengaruh" dalam podcasting.