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

使用Selenium和Python通过链接文本定位元素报错,求修复建议

问题描述

我是Python新手,正在通过网上示例学习。其中一个示例用到Selenium库,原示例使用find_element_by_link_text方法,但该方法似乎已不存在,我不得不改用find_element方法。我编写了如下代码,Chrome浏览器能正常打开,但find_element部分报错,希望有人能提供修复建议。

代码如下:

from selenium import webdriver

browser = webdriver.Chrome()

browser.get("https://github.com")
signin_link = browser.find_element("LINK_TEXT", "Sign in")

print(signin_link)

修复方案

  • Selenium 4及以上版本中,find_element方法的定位参数需要通过By类的常量传入,不能直接传字符串。需先导入By类。
  • 修改后的正确代码:
from selenium import webdriver
from selenium.webdriver.common.by import By  # 导入By类

browser = webdriver.Chrome()

browser.get("https://github.com")
signin_link = browser.find_element(By.LINK_TEXT, "Sign in")  # 使用By类常量替代字符串

print(signin_link)
  • 也可以用键值对形式传参,写法更清晰:
signin_link = browser.find_element(by=By.LINK_TEXT, value="Sign in")

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.22 21:09:21