【发布时间】:2020-09-23 21:50:52
【问题描述】:
我想根据 Web 元素(xpath、类等)抓取少数字段的文本。
<div class = myOnlyElement>
<div> ......
<div class = afafasf> ......</div>
<div class = klklkl> ......
<div class = qwqwqwq> ......
<div class = reaction> text i need</div>
</div>
</div>
</div>
</div>
<div class = myElement>
<div> ......
<div class = dfdfdf> ......</div>
<div class = ghgghghg> ......
<div class = erererere> ......
<div class = reaction> text i don't need</div>
</div>
</div>
</div>
</div>
假设我有这样的元素后端。我发现像这样的元素:
myelem = driver.find_element_by_classname('myOnlyElement')
现在我只想用我需要的文本选择类“反应”。 我正在这样做:
myelem.find_element_by_classname('reaction')
如果这个类存在,它会捕获它,但在某些情况下它适用于class = "reaction",其文本是“我不需要的文本”
希望我已经清楚地提到了我的问题。你能帮帮我吗
【问题讨论】:
-
driver.find_element_by_class_name 是正确的语法。
-
也只需检查您是否有骨髓。或者使用等待。
-
您可以使用 find 元素来获取与该类匹配的元素数组...然后迭代并获取 InnerHTML: thiselement.get_attribute('innerHTML') 以确定它是您需要还是不需要的文本'不需要。
-
问题是每当我访问任何链接时,我都想从第一个元素中获取信息。如果它存在与否。如果元素存在,则获取文本,如果元素不存在,则打印“无文本”
标签: python selenium xpath css-selectors webdriverwait