使用SeleniumBase UC模式时按钮无法点击的解决咨询
解决SeleniumBase UC模式下无法点击目标按钮的问题
针对你遇到的Angular Material按钮点击失效问题,结合SeleniumBase UC模式的特性,试试以下几种方案:
等待元素可点击后再执行操作
Angular应用常有加载延迟,先确保元素完全就绪再点击:sb.wait_for_element_clickable("button:contains('Start New Booking')", timeout=15) sb.click("button:contains('Start New Booking')")也可以精确匹配按钮文本,避免模糊匹配的干扰:
sb.click('span.mat-button-wrapper:exact_text("Start New Booking")')使用唯一自定义类定位
按钮的btn-brand-orange是自定义标识,定位更精准:sb.wait_for_element_visible(".btn-brand-orange", timeout=15) sb.click(".btn-brand-orange")JavaScript强制触发点击
如果普通点击无法触发Angular的绑定事件,用JS直接执行点击:btn_element = sb.find_element(".btn-brand-orange") sb.execute_script("arguments[0].click();", btn_element)等待Angular页面稳定
针对Angular应用,先等待框架加载完成再操作:sb.wait_for_angular_ready(timeout=20) sb.click("button.mat-raised-button.btn-brand-orange")
注意:确保UC模式初始化正确,基础代码框架如下:
from seleniumbase import SB with SB(uc=True) as sb: sb.open("你的目标页面URL") # 插入上述点击代码
内容的提问来源于stack exchange,提问作者Ami Bogur
相关产品推荐
相关产品推荐

