使用python和selenium抓取网站的父子条件语句

问题描述 投票:0回答:1

我正在尝试使用python3和selenium chromedriver从网站上搜集产品评论。

这些评论中嵌入了公司的回复(删除这些)。这些公司的回复很容易识别,因为内容的标题始终是“来自公司x的回复”。

所以我想要一个python3函数:

if 'response from company x' not in mydriver.find_element_by_class_name('bv_content_title').text:
    search for child classes of ('bv_content_core')
    append child class ('bv_content_review_text') to list

我在使用HTML中与“class”相关的父子关系时遇到了麻烦。我应该命名父级('bv_content_core'),然后搜索核心的所有子类到字符串匹配?使用XPath父/子有更简单的方法吗?

python python-3.x selenium selenium-webdriver
1个回答
1
投票

在我推测列表之后不确定你是什么。

if 'response from company x' not in mydriver.find_element_by_class_name('bv_content_title').text:
    mylist=mydriver.find_elements_by_css_selector('.bv_content_core .bv_content_review_text')
    print(mylist)

或尝试第二个。

if 'response from company x' not in mydriver.find_element_by_class_name('bv_content_title').text:
    parent=mydriver.find_element_by_css_selector('.bv_content_core')
    mylist=[]
    for child in parent.find_elements_by_css_selector('.bv_content_review_text'):
         mylist.append(child.text)
© www.soinside.com 2019 - 2024. All rights reserved.