You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何用Python+Selenium模拟点击Pinterest关注按钮?定位无效求方案

解决Pinterest关注按钮定位失败的方案

你当前用的CSS选择器全是Pinterest动态生成的随机类名,每次页面加载这些类名都会变动,所以定位肯定不稳定,给你几个靠谱的解决方法:

方法1:用稳定的属性定位(推荐)

Pinterest的关注按钮会自带aria-label属性,里面包含与“关注”相关的文本(你提供的波兰语页面里是Obserwuj),用这个属性定位比随机类名可靠得多。

代码示例(Xpath版本)

from selenium.webdriver.common.by import By
from selenium.webdriver.support.ui import WebDriverWait
from selenium.webdriver.support import expected_conditions as EC

# 用显式等待代替time.sleep,确保按钮加载完成且可点击
follow_btn = WebDriverWait(browser, 10).until(
    EC.element_to_be_clickable((By.XPATH, "//button[contains(@aria-label, 'Obserwuj')]"))
)
follow_btn.click()

代码示例(CSS选择器版本)

from selenium.webdriver.common.by import By
from selenium.webdriver.support.ui import WebDriverWait
from selenium.webdriver.support import expected_conditions as EC

follow_btn = WebDriverWait(browser, 10).until(
    EC.element_to_be_clickable((By.CSS_SELECTOR, "button[aria-label*='Obserwuj']"))
)
follow_btn.click()

方法2:直接用JavaScript查找并点击

如果上面的方法还是不行,可以直接通过JS遍历页面按钮,找到包含关注文本的按钮并触发点击:

browser.execute_script("""
const buttons = document.querySelectorAll('button');
for (const btn of buttons) {
    if (btn.textContent.trim().includes('Obserwuj')) {
        btn.click();
        break;
    }
}
""")

注意事项

  • 别用time.sleep,改用WebDriverWait显式等待,能适配不同的页面加载速度,避免因加载慢导致的定位失败。
  • 如果是英文页面,把代码里的Obserwuj替换成Follow即可。

内容的提问来源于stack exchange,提问作者dxUser

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.17 12:35:18