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

时间:2019-04-29 21:28:38

标签: python python-3.x selenium selenium-webdriver

我正在尝试使用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中“类”相关的父子关系时,我遇到了麻烦。我应该命名父对象(“ bv_content_core”),然后在核心的所有子类中搜索以匹配字符串吗?有没有使用XPath父/子的简便方法?

1 个答案:

答案 0 :(得分: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)