首页  >  文章  >  后端开发  >  为什么我的 Selenium getText() 方法在使用类名定位器时抛出错误?

为什么我的 Selenium getText() 方法在使用类名定位器时抛出错误?

Mary-Kate Olsen
Mary-Kate Olsen原创
2024-11-01 06:35:30108浏览

Why is my Selenium getText() method throwing an error when using a class name locator?

疑难解答:在 Python 中使用 Selenium WebDriver 提取文本

问题:

尝试从 Web 元素检索文本时使用 Selenium WebDriver 的 getText() 方法,您在使用类名定位器时收到错误。该错误源于网页重新加载时动态 ID 发生变化,导致 By.CLASS_NAME 定位器不可靠。

HTML 片段:

<code class="html"><span class="current-text" id="yui_3_7_0_4_1389185744113_384">my text</span></code>

Python 代码:

<code class="python">text = driver.find_element_by_class_name("current-stage").getText("my text")</code>

解决方案:

要解决此问题,请通过删除无关的 getText("my text") 参数来简化代码:

<code class="python">text = driver.find_element_by_class_name("current-stage").text</code>

说明:

getText() 方法返回指定网页元素的文本内容。在这种情况下,类名定位器标识正确的元素,并且文本属性检索其文本内容。尝试将预期文本指定为 getText() 的第二个参数是不必要的,并且可能会导致混乱。

以上是为什么我的 Selenium getText() 方法在使用类名定位器时抛出错误?的详细内容。更多信息请关注PHP中文网其他相关文章!

声明:
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn