当前位置: 代码迷 >> JavaScript >> 如何使用Selenium python获取基于HTML数据的HTML索引?
  详细解决方案

如何使用Selenium python获取基于HTML数据的HTML索引?

热度:23   发布时间:2023-06-05 11:38:33.0

我对硒很陌生,我想单击动态网站包含的折叠选项卡。 我在用

//a[@href[contains(.,"Text")]] 

用于在页面中搜索文本。 假设我得到3个包含此文本的标签。 我在用

get_attribute('outerHTML') 

并使用正则表达式获取HTML内容并获取类名称,但是当我使用javascript发送click事件时,它会单击该类下的所有标签,因此我需要使用文本查询找到的该HTML标签的索引。 如何获得索引?

这是HTML:

<div class="col-12 col-md-8">

2019年法国网球公开赛15:30ATP迪拜中心法院:贝兰基斯vs梅德韦杰夫15:30ATP迪拜法院1:杰拉西莫夫vs哈斯15:30ATP迪拜法院3:贝雷蒂尼vs库德拉16:00雅克vs科拉尔17:00ATP迪拜法院1:萨夫瓦特vs巴格达蒂斯17: 00ATP迪拜法院3:胡卡兹vs穆蒂17:30ATP迪拜中心法院:Nishikori vs Paire 18:30ATP迪拜法院1:Berdych vs Ivashka 19:00佩尔/ Sancic vs G. Granollers / Miedler 19:00 Essseric / Hernandez vs Bonzi / Halys 19: 00ATP圣保罗中心球场:坂本vs穆纳尔19:00ATP圣保罗球场1:Marterer / Mies vs Marcondes / Matos 20:00ATP迪拜球场1:Coric vs Kukushkin 20:30W。 冈萨雷斯/ Voljacques vs Margaroli / Vavassori 20:30ATP迪拜中心法院:西里奇vs蒙菲尔斯20:30ATP圣保罗中心法院:洛伦兹vs隆德罗20:30ATP圣保罗法院1:马丁内斯vs德里安21:00萨菲林vs布朗22:00托佩加德vs M. Ymer 22:00ATP迪拜中心球场:埃布登vs齐皮帕斯22:00ATP圣保罗中心球场:巴尼斯vs拉莫斯维诺拉斯22:00ATP圣保罗球场1:Jebavy / Molteni vs Carballes Baena / Jaziri 23:00Barrere vs Serdarusic 23:30Furness / Jacq vs Begemann / Junaid 23:30ATP圣保罗中心法院:贝鲁奇/杜特拉·席尔瓦vs L.梅耶/ J.索萨23:30ATP圣保罗法院1:马尔雷罗/奥斯瓦尔德vs德尔博尼斯/ M.冈萨雷斯2019年2月27日00:30贡波斯vs斯塔霍夫斯基01 :00ATP圣保罗球场1:P。库埃瓦斯/泽瓦洛斯vs德莫林纳/尼尔森02:00乔恩斯基vs帕夫拉斯克02:00ATP圣保罗球场1:阿内奥多/奈斯vs阿雷瓦洛/切雷塔尼03:00ATP圣保罗中心球场:塞伯特·怀德vs E. Ymer 04:30ATP圣保罗中心球场:Ruud vs T. Monteiro

如果要访问存在的元素不止一次,则可以使用for循环或Index 。根据您的声明,您需要照顾index。

driver.find_element_by_xpath('(//a[@href[contains(.,"Text")]])[0]') //where Index zero for 1st element. 

这样,您可以根据要单击的元素来增加索引值。

  相关解决方案