如何在Selenium(Python)的网页的特定部分中搜索文本?有图片:

坦齐尔27

因此,我一直在尝试使用python中的硒在网页上搜索特定的关键字,但似乎无法弄清楚如何在特定区域内搜索特定的文本。如图所示,当我在Chrome中搜索单词“ Sim”时,会突出显示几个斑点。红色区域是我要查找代码的唯一位置。我使用了xpath来标识文本,因为其他所有内容均不可用。

到目前为止的代码是:

else:
    print("Nothing here yet 1")
    if driver.find_elements_by_xpath("//*[contains(text(), 'Sim')]"):
        login_to_reply = driver.find_element_by_xpath("//body/div[@id='app']/main/div[@id='content']/div/div/div/div/div/div/article/header[1]")
        login_to_reply.click()                         
        time.sleep(5)

如果有人能帮助我,让我知道我不了解的地方,我将非常感谢,谢谢。

图片:https//i.stack.imgur.com/nJOpU.png

编辑:来自其他答案的更多图像:

另一个答案,只想搜索红色区域

图像

爱德华兹

根据评论中的其他信息,要在页面的“第一篇文章”中搜索关键字,可以使用以下xpath:

(//article)[1]//div[@class='Post-body'][contains(normalize-space(),'point')]

关键位是:(//article)[1]-将更多标识符锁定在第一个[1]定位的article标签内。其余的只是减少了dom中的重复,并发现了嵌套嵌套标签的人的文本。

根据提供的链接该链接仅与顶部帖子匹配。您可以看到搜索关键字“ point”即使在多个帖子中也仅获得1次点击...点的xpath

可以将文本“点”换成“ sim”或任何您想要过滤的内容。


看着您的代码,我还有更多建议:

1 /您用于“登录以回复”的第二个xpath不好。像这样的长复制xpath通常容易产生麻烦。您可以使用与上述相同的技术来单击该文章框中的回复:

(//article)[1]//button[span[text()='Reply']]

2 /

您还需要注意,该行将无法按预期工作。

 if driver.find_elements_by_xpath("//*[contains(text(), 'Sim')]"):

如果未找到该元素,则它不会返回false-它会返回NoSuchElement异常并失败(并停止)脚本。

您需要将其作为try / except块

它需要看起来像这样:

try:
    driver.find_elements_by_xpath("(//article)[1]//div[@class='Post-body'][contains(normalize-space(),'point')]"):
    login_to_reply = driver.find_element_by_xpath("(//article)[1]//button[span[text()='Reply']]")
    login_to_reply.click()
    time.sleep(5)
except:
    print("Text was not found")

我没有运行此程序,但是如果无法运行,请告诉我,我会再看一次。

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

如何在python中搜索选择和编辑文本文件的特定部分

如何在Google网页搜索中屏蔽data:image图片?

如何在 XPath Python Selenium 中忽略具有特定 html 标签的文本?

如何在弹性搜索文本搜索中匹配部分单词

Python-Selenium:如何在网页中单击文本为“ Year”的元素

如何抓取网页上的所有文本直到python中的特定标题?

如何在没有类名或 id 或使用 python selenium 的网页中单击 <a>

如何在字典中搜索部分文本?

如何在mongodb中搜索特定文檔而不是所有文檔中的文本?

如何在Selenium WebDriver中单击搜索文本结果

如何在 sublime text 3 中搜索带有特殊字符的特定文本?

如何在 Python 中通过部分文本进行选择 - selenium

如何在UNIX中的特定文件中搜索文本

如何在Selenium中的<span>中查找具有特定文本的元素

如何使Python Selenium chromedriver加载网页中的所有元素?

如何使用 selenium python 查找网页中的所有元素

如何在Python中将特定文本搜索到二维数组中

如何在特定列的 DataGridView 中突出显示搜索文本?

如何在熊猫数据框的列中搜索特定文本

如何在Pandas数据框列中搜索特定文本?

如何在文本文件中搜索特定整数

Python (selenium):如何在现有的 html 代码中搜索新的 html 文档

如何在HTML文本中搜索特定文本并用颜色突出显示搜索字符串

如何在特定文本 selenium 中调用操作

如何在 Azure 搜索中的特定字段中搜索部分字符串?

如何使用python搜索字符串中的特定文本

如何在Firefox的所有标签中搜索文本?

如何在所有度量中搜索文本?

Python-Selenium-无法从HTML网页抓取特定文本内容