我尝试制作一个随机回答kahoot的脚本,一切正常,但当脚本必须单击“下一步”按钮时,我得到了这个error:'selenium.common.exceptions.InvalidSelectorException: Message: invalid selector: An invalid or illegal selector was specified'
。我尝试搜索这个错误,但没有显示与我的脚本相关的任何内容。
import random
from selenium import webdriver
driver=webdriver.Firefox()
driver.get("kahoot link")
choices= ['//*[@id="challenge-game-router"]/main/div[2]/div[1]/span', '//*[@id="challenge-game-router"]/main/div[2]/div[2]/span', '//*[@id="challenge-game-router"]/main/div[2]/div[3]', '//*[@id="challenge-game-router"]/main/div[2]/div[4]']
try:
sleep(5)
nickname= driver.find_element_by_name('nickname')
nickname.send_keys(username)
enter = driver.find_element_by_xpath('//*[@id="challenge-game-router"]/main/section/div[1]/form/button').click()
finally:
pass
for c in range(0, 3):
try:
driver.implicitly_wait(20)
choice = driver.find_element_by_xpath(random.choice(choices))
choice.click()
driver.implicitly_wait(20)
next = driver.find_element_by_xpath('/html/body/div/div/div/div/main/button')
next.click()
finally:
pass
2条答案
按热度按时间gv8xihay1#
您试图在这里通过类名查找元素,但是提供了
find_element_by_class_name
函数的xpath,这就是它抛出无效选择器异常的原因。您应该提供有效的类名或改用
find_element_by_xpath
。carvr3hs2#
我通过用Firefox而不是Google_Chrome复制Xpath解决了我的问题。