我试图单击带有库 Selenium 的标签 div 中的属性类容器。这是代码:
from selenium import webdriver
from selenium.webdriver.common.by import By
driver = webdriver.Chrome()
driver.get('https://www.flashscore.com/')
driver.find_element(By.CSS_SELECTOR, ".header__button header__button--search").click()
这是错误显示:
>>> driver.find_element(By.CSS_SELECTOR, ".header__button header__button--search").click(); Traceback (most recent call last): File "<stdin>", line 1, in <module> File "C:\Users\avis\AppData\Local\Programs\Python\Python38-32\lib\site-packages\selenium\webdriver\remote\webdriver.py",第 976 行,在 find_element 返回 self.execute(Command.FIND_ELEMENT, { File "C:\Users\avis\AppData\Local\Programs\Python\Python38-32\lib\site-packages\selenium\webdriver\remote\webdriver. py”,第 321 行,在执行 self.error_handler.check_response(response) 文件“C:\Users\avis\AppData\Local\Programs\Python\Python38-32\lib\site-packages\selenium\webdriver\remote\errorhandler .py",第 242 行,在 check_response 中引发 exception_class(message, screen, stacktrace) selenium.common.exceptions.NoSuchElementException: 消息:没有这样的元素:无法找到元素:{"method":"css selector","selector" :".header__button header__button--search"} (会话信息: chrome=85.0.4183.102)
该代码的灵感来自 selenium 文档:https ://www.selenium.dev/documentation/en/getting_started_with_webdriver/performing_actions_on_the_aut/
我做了一些研究并找到了一个可以克服异常的功能,element_to_be_clickable()
它是:根据文档,它用于在元素显示和可点击时等待。我用它这样:
> > element = WebDriverWait(driver, 10).until(EC.element_to_be_clickable((By.CLASS_NAME, "header__button
> header__button--search"))
> element.click();
但是这个语法错误显示在控制台中:
文件“”,第 2 行 element.click() ^ SyntaxError: invalid syntax
虽然我没有看到语法错误。从哪里可以产生错误?并且功能使用好?