python - 无法点击提交按钮
问题描述
我已经写了代码
import os
from webdriver_manager.chrome import ChromeDriverManager
import time
from selenium import webdriver
from selenium.webdriver.chrome.options import Options
from selenium.webdriver.common.keys import Keys
from selenium.webdriver.common.by import By
from selenium.webdriver.support.ui import WebDriverWait
from selenium.webdriver.support import expected_conditions as EC
options = Options()
options.add_argument('--ignore-certificate-errors')
options.add_argument('--start-maximized')
options.page_load_strategy = 'eager'
# options.add_argument("--headless");
driver = webdriver.Chrome(options=options)
wait = WebDriverWait(driver, 20)
driver.get("https://www1.nseindia.com/products/content/derivatives/equities/historical_fo.htm")
我正在尝试单击按钮
driver.find_element_by_class_name('getdata-button').click()
但是,按钮没有被点击。如何点击“获取数据按钮”?
解决方案
您必须等到该元素可单击,否则 Selenium 会尝试立即找到该元素并因NoSuchElementException: Message: no such element: Unable to locate element
异常而失败。
尝试这个:
import os
from webdriver_manager.chrome import ChromeDriverManager
import time
from selenium import webdriver
from selenium.webdriver.chrome.options import Options
from selenium.webdriver.common.keys import Keys
from selenium.webdriver.common.by import By
from selenium.webdriver.support.ui import WebDriverWait
from selenium.webdriver.support import expected_conditions as EC
options = Options()
options.add_argument('--ignore-certificate-errors')
options.add_argument('--start-maximized')
options.page_load_strategy = 'eager'
# options.add_argument("--headless");
driver = webdriver.Chrome(options=options)
wait = WebDriverWait(driver, 40)
driver.get("https://www1.nseindia.com/products/content/derivatives/equities/historical_fo.htm")
wait.until(EC.visibility_of_element_located((By.CSS_SELECTOR, '.getdata-button'))).click()
推荐阅读
- javascript - 我如何定义公会(discord.js)
- java - 如何获得下一个星期五,即一个月的第一个、第二个或第三个星期五?
- javascript - 我很困惑 - 我收到“getMonth 不是函数”
- airflow - 气流任务未加入下游任务
- c - 当堆栈变量由函数调用的结果初始化时,是否复制了结构?
- html - ReqactQuill 编辑器在长文本上调整大小
- java - 2 线程轮流打印字母
- javascript - 反应js。数组元素显示更多使用 useHooks useState 显示更少
- java - 在Jenkins从节点中面对javac编译器问题maven项目
- android - 构建失败,因为 react native reanimated 2