родительский дочерний условный оператор, очищающий сайты с питоном и селеном - PullRequest
0 голосов
/ 30 апреля 2019

Я пытаюсь вычистить обзоры продуктов с веб-сайта, используя python3 и селеновый хромедривер.

В эти обзоры включены ответы компаний (удалите их). Эти ответы компании легко идентифицируемы, потому что заголовок контента всегда «ответ компании 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 parent / childs?

1 Ответ

1 голос
/ 30 апреля 2019

Не уверен, что вы после того, как я предполагаю список.

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)
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...