Rumah >pembangunan bahagian belakang >Tutorial Python >Bagaimana untuk Mengendalikan \'Selenium.common.exceptions.InvalidSelectorException\' dengan \'span:contains(\'string\')\' dalam Selenium Python Firefox?
Ralat: "Selenium.common.exceptions.InvalidSelectorException" dengan "span:contains('string')" dalam Selenium Python Firefox
Apabila cuba mencari elemen menggunakan pemilih CSS dengan fungsi "mengandungi", seperti "span:contains('Control panel')", anda mungkin menghadapi ralat berikut:
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')"
Penjelasan :
Ralat ini berlaku kerana kelas pseudo ":contains" tidak disokong dalam pemilih CSS asli oleh Firefox atau Chrome. Ia sebelum ini digunakan dalam Enjin Pemilih Sizzle yang dipercayai oleh Selenium 1.0, tetapi telah digugurkan dalam WebDriver kerana ketidakkonsistenan merentas penyemak imbas.
Penyelesaian 1: Gunakan Atribut CSS Lain
Daripada menggunakan kelas pseudo ":contains", cari elemen menggunakan atribut CSS yang berbeza, seperti kelas, id atau sifat pengenalpastian lain. Contohnya:
element = "span[attribute_name=attribute_value]"
Penyelesaian 2: Gunakan XPath
XPath menyokong kelas pseudo ":contains", jadi anda boleh menggunakannya untuk mencari elemen:
element = my_driver.find_element_by_xpath("//span[text()='Control panel']")
element = my_driver.find_element_by_xpath("//span[contains(.,'Control panel')]")
element = my_driver.find_element_by_xpath("//span[normalize-space()='Control panel']")
Penyelesaian 3: Gunakan jQuery
Sebagai alternatif, anda boleh menggunakan jQuery untuk mencari elemen dengan fungsi "mengandungi":
$('span:contains("Control panel")')
Atas ialah kandungan terperinci Bagaimana untuk Mengendalikan \'Selenium.common.exceptions.InvalidSelectorException\' dengan \'span:contains(\'string\')\' dalam Selenium Python Firefox?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!