Selenium通过find_element_by_link_text定位控件问题

在使用Selenium的Python版本进行网页自动化时,遇到通过find_element_by_link_text定位元素的问题。代码中,第一个链接文本可以成功定位,但第二个链接文本'多义词'无法定位,导致NoSuchElementException错误。尽管CMD中的中文显示为乱码,但这不影响问题的本质。目前,尚未找到有效解决方案。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

# coding=utf-8
from selenium import webdriver
import time


driver = webdriver.Chrome()
driver.get("http://www.baidu.com/")

search_field = driver.find_element_by_id("kw")
search_field.send_keys("hello")
sub=driver.find_element_by_id("su")
sub.click()
time.sleep(5)

ele = driver.find_element_by_link_text("hello_百度百科")#找到贴控件
ele.click()
time.sleep(5)#等待页面加载

ele1 = driver.find_element_by_link_text("多义词")
ele1.click()

原始代码如上,同样都是find_element_by_link_text来定位元素,但是第一个就可以定位到,第二个就定位不到,目前还没有找到解决方案。代码运行报错如下:

因为是在cmd运行的,中文变成了乱码,这个不影响

raceback (most recent call last):
 File "web.py", line 19, in <module>
   ele1=driver.find_element_by_link_text("澶氫箟璇?)
 File "G:\Python27\lib\site-packages\selenium\webdriver\remote\webdriver.py", l
ne 428, in find_element_by_link_text
   return self.find_element(by=By.LINK_TEXT, value=link_text)
 File "G:\Python27\lib\site-packages\selenium\webdriver\remote\webdriver.py", l
ne 978, in find_element
   'value': value})['value']
 File "G:\Python27\lib\site-packages\selenium\webdriver\remote\webdriver.py", l
ne 321, in execute
   self.error_handler.check_response(response)
 File "G:\Python27\lib\site-packages\selenium\webdriver\remote\errorhandler.py"
 line 242, in check_response
   raise exception_class(message, screen, stacktrace)
elenium.common.exceptions.NoSuchElementException

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值