当前位置: 首页 > 知识库问答 >
问题:

按类名使用双下划线定位元素

左劲
2023-03-14

我尝试按类名查找元素。不幸的是,我必须选择的类名包含双下划线,并引发“没有这样的元素”错误。

< code>div-element选择:

<div class="result-list-entry__data">
...
</div>

选择:

last_named_class = result.find_element_by_class_name('result-list-entry__data')

当前结果(错误):

selenium . common . exceptions . nosuchelementexception:消息:没有这样的元素:找不到元素:{"method":"css selector "," selector ":"。结果列表条目_ _数据" }(会话信息:chrome=77.0.3865.90)

有可能避开双下划线吗?

共有3个答案

邰伟彦
2023-03-14

您可以尝试通过使用以下命令来获取class = "result-list-entry__data "的所有元素的列表

如果 DOM 中有多个类,请根据位置迭代元素Result 数组

 elementResult=[];
 elementResult = driver.find_elements_by_class_name("result-list-entry__data");

别的

elementResult = driver.find_elements_by_class_name("result-list-entry__data");
袁波
2023-03-14

首先,检查是否有任何内联框架。如果元素在 iframe 中,则在对该元素执行任何操作之前,您必须切换到该框架。

您可以使用class属性上的部分字符串匹配来定位该元素,如下所示,

last_named_class = result.find_element_by_xpath("//*[contains(@class,'result-list-entry')]")
宋嘉懿
2023-03-14

也许您可以在选择器中使用contains查询。试着这样做:

last_named_class = result.find_element_by_xpath("//div[contains(@class, 'result-list')]")

希望这有点帮助。

 类似资料:
  • 问题内容: 这些PHP代码行中的双下划线是什么意思? 问题答案: 看起来您正在使用Wordpress- 将__定义为转换字符串的函数(类似于及其别名,但具有用于显式指定域的可选参数)。

  • >>> class MyClass(): ... def __init__(self): ... self.__superprivate = "Hello" ... self._semiprivate = ", world!" ... >>> mc = MyClass() >>> print mc.__superprivate Traceback (most recen

  • rank ▲ ✰ vote url 64 365 174 322 url 在实例名字前单下划线和双下划线的含义 我想刨根问底,这到底是什么意思?解释一下他俩的区别. 单下划线 在一个类中的方法或属性用单下划线开头就是告诉别的程序这个属性或方法是私有的.然而对于这个名字来说并没有什么特别的. 引自PEP-8: 单下划线:"内部使用"的弱指示器.比如,from M import * 将不会引进用但下划

  • 本文向大家介绍Python3中_(下划线)和__(双下划线)的用途和区别,包括了Python3中_(下划线)和__(双下划线)的用途和区别的使用技巧和注意事项,需要的朋友参考一下 在看一些Python开源代码时,经常会看到以下划线或者双下划线开头的方法或者属性,到底它们有什么作用,又有什么样的区别呢?今天我们来总结一下(注:下文中的代码在Python3下测试通过) _ 的含义 在python的类中

  • 这是单击按钮的代码:

  • 问题内容: 可以解释一下在Python中使用对象名称前加下划线的含义吗?另外,说明单首和双首下划线之间的区别。无论所讨论的对象是变量,函数,方法等,该含义是否保持不变? 问题答案: 单下划线 类中带有下划线的名称仅是为了向其他程序员表明该属性或方法旨在私有。但是,名称本身并没有做任何特别的事情。 引用PEP-8: :“内部使用”指标较弱。例如,不导入名称以下划线开头的对象。 双下划线(名称改写)