首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >使用selenium从html元素获取文本

使用selenium从html元素获取文本
EN

Stack Overflow用户
提问于 2022-07-08 08:26:10
回答 1查看 42关注 0票数 -4

从下面的HTML代码中,我想分别得到1和2的文本。

代码语言:javascript
复制
<div class="sc-492bf320-0 sc-7d450bff-9 crIwBV juiSXn">
  <div data-change-key="homeScore.display" class="sc-18688171-0 sc-7d450bff-4 fXAhuT fBSHnS">2</div>
  <div data-change-key="awayScore.display" class="sc-18688171-0 sc-7d450bff-4 fXAhuT fBSHnS">1</div>
</div> 

这是我的代码:

代码语言:javascript
复制
home_score = driver.find_element(By.CSS_SELECTOR,"div.sc-492bf320-0.sc-7d450bff 9.crIwBV.juiSXn")[0].text
away_score = driver.find_element(By.CSS_SELECTOR,"div.sc-492bf320-0.sc-7d450bff 9.crIwBV.juiSXn")[1].text

我收到一个错误,TypeError: 'WebElement'对象是不可订阅的。

我可以改变什么来分别得到文本?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2022-07-08 08:40:05

您使用的是find_element而不是find_elements (注意后面的s)。对于前者,返回一个WebElement。对于后者,返回一个WebElements列表。列表是一个容器,是可订阅的(请参阅更多这里)。WebElement不是像List或Tuple这样的容器。因此,您不能使用可订阅表示法[int]

第二,div.sc-492bf320-0.sc-7d450bff 9.crIwBV.juiSXn --这个CSS选择器会失败。它不会给你任何东西。删除9之前的空格,用一个点(.)替换它。关于正确使用CSS选择器的更多信息,这里

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/72908663

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档