selenium定位元素報錯invalid selector: Compound class names not permitted

一、出現情景

腳本:

'''
案例:根據class定位,百度搜索小明
'''
from selenium import webdriver
from time import sleep

driver = webdriver.Chrome()
driver.get("http://www.baidu.com")
print(driver.title)

driver.find_element_by_class_name("s_ipt").send_keys("小明")
sleep(3)

driver.find_element_by_class_name("bg s_btn").click()
sleep(3)

driver.quit()
print("測試完成")

運行結果:
在這裏插入圖片描述

二、出現原因

用class屬性定位元素時,如果class屬性中間有空格,運行時會報錯

selenium.common.exceptions.InvalidSelectorException: Message: invalid selector: Compound class names not permitted

這個報錯是說定位器無效,不允許有複合類名

三、解決方法

class有多個屬性時,用class屬性時,取一個定位就行
將這行

driver.find_element_by_class_name("bg s_btn").click()

替換成:

driver.find_element_by_class_name("bg").click()

運行結果:
在這裏插入圖片描述

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章