2014-05-02 5 views
0

enter image description hereКак сформулировать выражение Xpath из следующего HTML

Привет,

Я хотел бы написать выражение XPath для ТОЛЬКО печати текст для всех «класса - проникновения в суть type1». Мне не нужно печатать те, которые «спрятаны».

После выбора CSS дает мне все теги для Insights Popup

driver.find_elements_by_css_selector("#body > div.side-module.expanded > div.content") 

Может кто-то помочь с этим, пожалуйста?

Благодаря

ответ

2

Вот как вы можете это сделать:

//div[@class="content"]/div[@class="insights type1"] 

В питона вызова find_elements_by_xpath() и получить текст каждого Див найдено:

for div in driver.find_elements_by_xpath('//div[@class="content"]/div[@class="insights type1"]'): 
    print div.text 

Обратите внимание, что если вам нужен только один одиночный div, используйте только find_element_by_xpath():

div = driver.find_element_by_xpath('//div[@class="content"]/div[@class="insights type1"]') 
print div.text 

Кроме того, если эти div s могут быть за пределами contentdiv тоже - используйте //div[@class="insights type1"].

Надеюсь, что это поможет.

+0

У меня есть еще один [@ класс = «идеи типа 2»] на том же уровне, в то же ДИВ, и я хочу, чтобы напечатать как «тип 1» и «тип 2» классов. Будет ли выполнено одно из следующих действий? ("// div [@ class = 'content'] [/ div [@ class = 'insights type1']] [/ div [@ class = 'insights type2']]") ИЛИ ("[// div [@ class = 'content']/div [@ class = 'insights type1']] и [// div [@ class = 'content']/div [@ class = 'insights type2']] ") – user3587233

+0

@ user3587233 попробуйте это один: '// div [@ class =" content "]/div [@ class =" insights type1 "или @ class =" insights type2 "]' – alecxe

+0

http://stackoverflow.com/questions/23485484/how-to -formulate-an-xpath-expression-to-get-an-attribute-from-a-child-node-in-py – user3587233

0

Для этого вы можете использовать инструменты Dev для Chrome.

Запустите средства разработки с помощью F12 и просто щелкните правой кнопкой мыши элемент, к которому вы хотите перейти.

Затем используйте lxml для обработки дерева xml.

image

Смежные вопросы