【发布时间】:2019-12-10 19:46:42
【问题描述】:
这与“如何获取包含某些文本的元素的大小”的问题不同。我可以使用 Selenium webdriver 获取包含文本的元素的大小,这不是问题。问题是,如果元素包含一些文本,那么一些子元素,例如一个跨度,其中也包含文本,那么如何获取第一段文本的大小,而不包括子元素?
在 Chrome 中,您实际上可以看到第一段文本的大小,如果您使用开发人员工具并选择该段,然后将鼠标悬停在其上。它会弹出一个工具提示,例如, “#text 92x40”给出宽度和高度。
此处的示例图片:
但问题是如何从 Selenium 获取这些信息。最好在 Python 中。
我还将添加一个注释以澄清:据我所知,Selenium 无法在 select_by_xpath 方法中选择text()。它最多只能选择父元素。这意味着如果感兴趣的文本(文本的第一段)是 xpath \div\div\text()[1],使用 Selenium 我只能选择 \div\div,这就是为什么我找不到它的宽度。另一方面,可以使用\div\div\span 选择子跨度元素,然后可以找到其宽度。
【问题讨论】:
标签: python selenium selenium-webdriver