首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

尝试使用selenium Python循环搜索查询时,在find_element_by_partial_link_text()中出错

在使用selenium Python循环搜索查询时,出错是因为find_element_by_partial_link_text()方法无法找到匹配的元素。这个方法是根据链接文本的部分内容进行匹配查找元素的。

可能的原因是:

  1. 链接文本中没有包含指定的部分内容。
  2. 链接文本中包含了指定的部分内容,但是大小写或者空格等字符不匹配。

为了解决这个问题,可以尝试以下方法:

  1. 确保链接文本中包含了正确的部分内容,并且大小写或者空格等字符与代码中的匹配。
  2. 使用其他定位元素的方法,例如find_element_by_xpath()或者find_element_by_css_selector(),根据元素的其他属性进行定位。
  3. 如果需要模糊匹配链接文本,可以使用正则表达式进行匹配,使用find_element_by_xpath()方法结合正则表达式来定位元素。

以下是一个示例代码,使用正则表达式进行模糊匹配链接文本:

代码语言:python
代码运行次数:0
复制
import re
from selenium import webdriver

driver = webdriver.Chrome()
driver.get("https://example.com")

# 获取所有链接元素
links = driver.find_elements_by_tag_name("a")

# 遍历链接元素
for link in links:
    # 获取链接文本
    text = link.text
    
    # 使用正则表达式进行模糊匹配
    if re.search("部分内容", text, re.IGNORECASE):
        # 执行相应操作
        link.click()
        break

driver.quit()

在这个示例代码中,我们使用了re.search()方法进行正则表达式的模糊匹配,re.IGNORECASE参数表示忽略大小写。根据匹配到的链接元素执行相应的操作。

希望以上解答对您有帮助。如果您需要更多帮助或有其他问题,请随时提问。

页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

Python+Selenium笔记(六):元素定位

(二)  使用谷歌检查页面元素(根据自己的使用习惯选择浏览器) (1)   单击鼠标右键,选择“检查”。...(2)   需要使用Xpth或CSS选择器,可以Elements窗口,Ctrl+F打开搜索框,搜索输入Xpth或CSS表达式,匹配的元素会高亮显示(黄色部分),如果有多个匹配,搜索框的右侧会显示匹配数量...(三)  元素定位 就如人工操作,输入查询条件,然后点击【查询】按钮,前提是首先要知道这个是搜索框,这个是【查询】按钮一样,Selenium执行功能操作之前,也要先识别这些元素。...(2)   也可以用find_element(By.ID,'')这种写法,使用这种方式要先导入By模块 from selenium.webdriver.common.by import By (3)  ...,class属性有空格,空格并不是一般认识的空格符号,而是代表这个标签有多个class名,定位的时候使用第一个名称,或者不同名称之间用.分开就行了。

2.8K80

python +selenium 实现简单的自动化浏览器操作

最近研究了一下pythonselenium 这两个东西, 大部分的自动化测试都是用这两个....,到达百度首页,然后输入框输入mczaiyun.top 点击搜索 selenium 可以和各个浏览器进行搭配, 谷歌,火狐,IE, 不同的浏览器需要不同的driver....不同版本的浏览器也需要不同版本的driver 点击这个链接查看chrome的drive 既然selenium 是操作浏览器的,那避免不了获取元素,dom操作 主要使用一下几种方法 # 使用id查询 browser.find_element_by_id...() # 使用查询 browser.find_element_by_class_name() # 使用css选择器 browser.find_element_by_css_selector()...# 使用文本查找 browser.find_element_by_link_text() # 使用超链接的文本定位查找 find_element_by_partial_link_text() # 使用

3K10
  • Selenium元素定位

    () 在这里将对各种元素定位方式统一使用百度首页进行示例,详细操作步骤有以下内容: 1.打开浏览器,进入百度首页(www.baidu.com); 2.百度页面输入关键字 www.testclass.cn...进行搜索; 3.关闭浏览器; 首先,通过前端工具(火狐浏览器的Firebug)或者直接按F12进入开发者模式查看具体前端代码: ?...").send_keys("www.testclass.cn")#通过id属性定位输入框; driver.find_element_by_id("su").click()#通过id属性定位“百度一下”查询按钮...driver.maximize_window() #定位一组元素; elements=driver.find_elements_by_class_name("mnav") print(len(elements)) #循环打印出每个元素的属性值...\Python36\python.exe' 'c:\Users\WangXiao\.vscode\extensions\ms-python.python-2018.7.1\pythonFiles\PythonTools

    1.1K10

    🔥《手把手教你》系列基础篇之3-python+ selenium自动化测试-驱动浏览器和元素定位大法(详细)

    窗口尺寸设置 测试过程,我们可能会要求打开浏览器的窗口处于最大化或者设置为某一特定尺寸的大小,所以我们使用selenium驱动浏览器设定窗口大小 # coding=utf-8 # 1.先设置编码...网页截图 完成打开网页,我们对网页内容进行保存的方式的一种就是进行网页截图,webdriver中就提供了截图的选择 # coding=utf-8 # 1.先设置编码,utf-8可支持中英文,如上,...通过 name 定位输入框: find_element_by_name("wd") find_element_by_name()方法用于元素 name 属性的定位,百度搜索按钮并没有提供 name 属性...不过,需要强调的是Python 对于中文的支持并不好,如查 Python 执行中文的地方出现在乱码,可以中文件字符串的前面加个小“u”可以有效的避免乱码的问题,加 u 的作用是把中文字 符串转换...小结   好了,今天python+ selenium-驱动浏览器和元素定位大法就分享到这里。

    96340

    《手把手教你》系列基础篇之3-python+ selenium自动化测试-驱动浏览器和元素定位大法

    窗口尺寸设置 测试过程,我们可能会要求打开浏览器的窗口处于最大化或者设置为某一特定尺寸的大小,所以我们使用selenium驱动浏览器设定窗口大小 # coding=utf-8 # 1.先设置编码...网页截图 完成打开网页,我们对网页内容进行保存的方式的一种就是进行网页截图,webdriver中就提供了截图的选择 # coding=utf-8 # 1.先设置编码,utf-8可支持中英文,如上,...通过 name 定位输入框: find_element_by_name("wd") find_element_by_name()方法用于元素 name 属性的定位,百度搜索按钮并没有提供 name 属性...不过,需要强调的是Python 对于中文的支持并不好,如查 Python 执行中文的地方出现在乱码,可以中文件字符串的前面加个小“u”可以有效的避免乱码的问题,加 u 的作用是把中文字 符串转换...小结  好了,今天python+ selenium-驱动浏览器和元素定位大法就分享到这里。

    1K40

    知识点讲解四:selenium教程

    是一个自动化测试工具,爬虫通常用来进行模拟登陆。...命令行输入以下命令即可安装,前提是你已经安装好Python环境且pip可以正常使用 pip install selenuim ?...三、下载驱动器 驱动器是我们通过selenium模拟用户操作需要的一个工具,我这里用的是Chromedriver(谷歌浏览器驱动,对应谷歌浏览器),下面是Chrome、Edge、Firefox、Safari...下面我们将继续完善代码来实现自动化,搜索输入“明天依旧可好”–>点击搜索结果的第一条 time.sleep(1) driver.find_element_by_xpath("//input[@name...五、配置浏览器 我们使用 selenium ,可能需要对 chrome 做一些特殊的设置,以完成我们期望的浏览器行为,比如最大化窗口,无窗口启动 等动作。

    1.2K20

    利用python读取excel的公司名称获取公司的经营范围并回填进excel

    我们可以从excel把公司名称都读出来,然后让它自动去搜索获取公司的经营范围,并批量回填到excel 首先想到的是利用selenium来模拟浏览器来进行查询,我们先pip install selenium...安装selenium模块 并安装谷歌浏览器对应版本的chromedriver,下载地址chromedriver 把下载好的chromedriver.exe文件放到python的安装路径下或者scripts...browser = webdriver.Chrome() 上述步骤只是简单的打开了浏览器,接下来我们进行搜索的操作,就拿百度为例 from selenium import webdriver...browser.find_element_by_id('kw').send_keys('python') #通过id获取到搜索按钮并赋予点击操作 browser.find_element_by_id...('su').click() except Excception as e: print("搜索失败:{}".format(e)) 以上代码运行便可以自己打开谷歌浏览器并以“python”为搜索条件进行搜索

    1.5K40

    Python 做自动化测试环境搭建

    接下来测试自己的 Selenium 是否可以启动浏览器了, cmd 输入 Python: ?...所以,我们会在这里使用的是谷歌的页面定位的,其实也就很简单的事。我们通过页面按 F12 查看页面就的元素,找到我们需要的元素,点击右击就可以看到我们需要定位的操作了。 ?...我们先定位百度搜索框,搜索框里面输入我们要查找的内容。 ? 2.2 find_element_by_name() 这个定位的方法是通过查找名字的方式,对元素进行定位。...2.6 find_element_by_partial_link_text() 这个方法的定位方式就是通过模糊文本信息查找元素,有些时候,我们希望定位到一个文本比较长的元素,我们就可以通过这个方法去定位...这两个方法使用上目前很广泛,也很多人推荐使用的方法。这两个很方便,因为浏览器已经帮我们做好准备了,我们只需要复制粘贴就可以了。 我们继续定位搜索框。 ?

    1.1K20

    Python爬虫(二十一)_Selenium与PhantomJS

    本章将介绍使用Selenium和PhantomJS两种工具用来加载动态数据,更多内容请参考:Python学习指南 Selenium Selenium是一个Web的自动化测试工具,最初是为网站自动化测试而开发的...Selenium自己不带浏览器,不支持浏览器的功能,它需要与第三方浏览器结合在一起才能使用。但是我们有时候需要让它内嵌代码运行,所有我们而已用一个叫PhantomJS的工具代替真实的浏览器。...因为PhantomJS是一个功能完善(虽然无界面)的浏览器而非一个Python库,所以它不需要像Python的其它库一样安装,但我们可以通过Selenium调用PhantomJS来直接使用 PhantomsJS...直接点击下拉框的选项不一定可行。...from selenium import webdriver from selenium.webdriver.common.by import By #WebDriverWait库,负责循环等待 from

    2.6K101

    phantomjs Can not connect to the Service phantomjs错误

    ,可能是因为phantomjs这个出错了,于是我就在88服务器上直接运行如个代码: [root(songxianfeng01@58OS)@bjm6-193-88ershouservices]# python...(1)先去service.py搜索报错的代码段: count= 0 while True: self.assert_process_still_running() if self.is_connectable...(3)查看self.port的值 webdirver.py,port默认值为0: def __init__(self,executable_path="phantomjs", port=0, desired_capabilities...=DesiredCapabilities.PHANTOMJS,service_args=None,service_log_path=None): 调用service.py文件的类的时候,如果port...3,最终尝试,解决问题 通过上面的分析,最终问题定位是:可能是有人重新安装了服务器的python selenium了,造成的不兼容问题。

    1.3K20

    10分钟教你如何自动化操控浏览器——Selenium测试工具

    WebDriverWait # 等待页面加载某些元素 3.实例应用 1)打开浏览器,检索框输入Python并检索。...XPath 是一门 XML 文档查找信息的语言。XPath 用于 XML 文档通过元素和属性进行查找。   ...XPath 使用路径表达式来选取 XML 文档的节点或者节点集。这些路径表达式和我们常规的电脑文件系统中看到的表达式非常相似 XPath 使用路径表达式 XML 文档中选取节点。...假如目标站点有一系列复杂的通信流程,例如的登录的滑动验证等...那么你使用requests模块的时候是不是就特别麻烦了。...那这些就是使用selenium的好处! (2)缺点   使用selenium本质上是驱动浏览器对目标站点发送请求,那浏览器访问目标站点的时候,是不是都需要把静态资源都加载完毕。

    5.5K30

    Python 爬虫之Selenium终极绝招

    遇到动态渲染的问题,如果无法提取ajax接口,或者无法破解token值计算,那我们只能使用终极绝招,Selenium测试框架。只是它性能低,不适合服务器部署,但活人不能让尿憋死,这是无奈的选择。...环境准备 安装 selenium 1 python -m pip install selenium 安装浏览器驱动 想要操作浏览器,当然需要浏览器驱动了,这些驱动是浏览器官方提供的,如果你用的小众浏览器...Selenium支持的其他浏览器都有其对应的驱动器 ? 下载驱动后,将解压得到的可执行程序路径添加到本地PATH环境变量,或者将可执行程序拷贝到python根目录下。...(使用XPath) find_element_by_link_text(使用显示文本) find_element_by_partial_link_text使用超链接文本) find_element_by_tag_name...,大家可以使用本章学习的内容尝试爬取该网站。

    1.3K30

    VS Code + Python + Selenium 自动化测试基础-01

    开发一个大型的网站专案过程,不需要针对特定的功能进行重复性的测试,其主要目的是为了确保系统兼容是否合乎规格,并确认其结果是否合乎预期。...牛刀小试 1.目标:利用Python + Selenium 开启Google首页 from selenium import webdriver # 使用 Chrome 的 WebDriver browser...目标:利用前一个示例, Google 输入框输入“phone”,然后单击搜索 from selenium import webdriver from selenium.common.exceptions...inputElement = browser.find_element_by_name("q") # 搜索輸入文字 inputElement.send_keys("iphone") # 提交...开常用的web DriverAPI-定位元素 WebDriver提供了几种元素的定位方式,Python对应的方式如下 id定位:find_element_by_id() HTML规定,HTML文件

    42210

    Python-selenium基础操作

    一. selinum优势 页面级测试,模拟用户真实操作 强大library,支持页面元素各类操作 多浏览器支持(chrome,firefox,ie) 多语言支持(python,java,C#,php,ruby...需要安装软件 firefox   firebug   seleniumIDE chrome   chromedirver ie   iedriverserver python2.7   selenium...Selenium IDE 对于初学者,可以先使用selenium IDE录制case,然后自动生成用例脚本 特点:工作为firefox插件,支持case录制、回放及代码导出 四. selenium入门...driver.window_handles driver.switch_to_window(driver.window_handles[1]) driver.close() 实例二: #打开百度首页,输入搜索内容并进行光标移动后回车...SHIFT APACE TAB 8.页面交互wait操作--implicit wait driver.implicitly_wait(10) 进行find操作,等待固定秒数,成功退出计时 9.页面交互

    91510

    Selenium3元素定位详解与封装

    其实这就需要在测试以及整体研发的角度来思考问题,今天这样的市场环境,打造高质量的持续交付产品质量,基本是所有互联网研发团队的测试团队都追求的一个方向。...主流的UI自动化测试框架Selenium3经过多年的发展,它的技术体系以及生态体系都是非常完善的,能够得到各大主流浏览器厂商的支持,和完善的document文档,以及与各个编程语言之间的兼容。...元素属性源码 UI自动化测试,最核心最基础的就是首先需要定位到元素的属性,然后就可以针对这个属性进行具体的相关的页面交互操作,比如进行进行关键字的输入,以及点击的操作等。...,可以使用的方法为find_element_by_link_text,比如在百度首先我们需要点击新闻,那么就可以使用方法来进行定位了一般而言a标签里面的,我们都可以理解为超链接,就可以使用该方法来进行具体的操作了...针对超链接定位还有另外一方法它就是find_element_by_partial_link_text,那么把它可以理解为也是针对超链接的定位方式,不过它可以使用模糊匹配的原则,这个怎么理解了

    92320

    python操作浏览器的三种方式

    从这篇博客开始,将学习使用如何使用python调用webdriver框架对浏览器进行一系列的操作 打开浏览器 selenium+python自动化测试(一)–环境搭建中,运行了一个测试脚本...Firefox,可以使用浏览器自带的插件查看定位元素,Firefox的附加组件里搜索firebug进行下载,安装firebug组件后会在浏览器的工具栏多出一个小虫子的图标,点击这个图标就可以打开组件查看页面源码...'kw'][name='wd']") 元素内定义的属性,都可以使用css来定位,使用其他几种方式无法定位到元素,可以使用css,够强大!...使用xpath定位 XPath是一种XML文档定位元素的语言。因为HTML可以看做XML的一种实现,所以selenium用户可是使用这种强大语言web应用定位元素。...“selenium”关键字,会出现许多搜索结果,这些搜索结果具有相同的属性,不同的是属性的值不同,定位这些元素,可以使用批量定位的方法 看下面的代码 ?

    8.3K51
    领券