我正在尝试使用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父/子的简便方法?
答案 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)