python - 我无法点击按钮,硒
问题描述
我想单击所有按钮以显示所有内容,首先我收集所有按钮,然后我单击它们通过循环。
但我得到一个错误
消息:元素点击被拦截:元素在点 (1223, 15) 处不可点击。其他元素会收到点击:...(会话信息:chrome=91.0.4472.124)
from webdriver_manager.chrome import ChromeDriverManager
from selenium.webdriver.chrome.options import Options
from selenium import webdriver
import time
URL = 'https://masterwatt.ru/catalog/kotly-gazovye-nastennye/'
option = Options()
option.add_argument("--disable-infobars")
option.add_argument("start-maximized")
option.add_argument("--disable-extensions")
option.add_experimental_option("prefs", {
"profile.default_content_setting_values.notifications": 1
})
driver = webdriver.Chrome(ChromeDriverManager().install(),chrome_options=option)
def parser_get_url_content():
driver.get(URL)
SCROLL_PAUSE_TIME = 0.5
last_height = driver.execute_script("return document.body.scrollHeight")
while True:
driver.implicitly_wait(5) # seconds
driver.execute_script("window.scrollTo(0, document.body.scrollHeight);")
time.sleep(SCROLL_PAUSE_TIME)
new_height = driver.execute_script("return document.body.scrollHeight")
if new_height == last_height:
break
last_height = new_height
time.sleep(4)
btn_plus = driver.find_elements_by_class_name('b-count__btn--plus')
for btn in btn_plus:
time.sleep(2)
btn.click()
def get_url_content():
pass
if __name__ == '__main__':
parser_get_url_content()
解决方案
尝试如下:
from selenium.webdriver.common.keys import Keys
btn.Send_keys(Keys.ENTER)
推荐阅读
- python - Python:如何从 Selenium 的下拉菜单中选择选项,隐藏元素
- javascript - 如何模拟在使用 Jest 测试的 React 组件中进行的 API 调用
- excel - 如何从 Excel vba 更改 Word 页脚的变量?
- ruby-on-rails - 在求和/添加其他值时按唯一值分组
- javascript - 如何在 JavaScript 中使用递归实现斐波那契数
- vim - 如何从linux服务器上vim打开的文件复制到我的windows记事本++
- bash - 为什么管道会截断内容,而重定向到/从中间文件不会?
- powershell - 如何让 Powershell 识别带有变音符号“ä”的文件名?
- python - 如何使用自定义绘图函数对 matplotlib 表进行子绘图?
- python - Scrapy:下一个按钮使用 WebForm_DoPostBackWithOptions()