一、出現情景
腳本:
'''
案例:根據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()
運行結果: