2017-02-03 3 views
0

Я использую питона с селеном для извлечения данных из веб-сайте ниже: http://www.worldhospitaldirectory.com/klinik-fur-anaesthesiologie-und-intensivmedizin/info/4181Selenium with Python: как вытащить данные без id и класса?

Screenshot of Page Как вы можете видеть из этой картины. Я хочу получить название больницы, категорию, адрес, страну, телефон, сайт и электронную почту.

Но когда я проверяю элементы, я обнаружил, что нет имени id или класса.
Категория: Больницы общего
Адрес: .....

Я действительно понятия не имею, как вытащить их с этого сайта. Пожалуйста, помогите мне или дайте мне несколько советов.

+0

Попробуйте использовать Xpath –

+0

Вы можете просто тянуть 'outerHTML' и разобрать его как строку. –

+0

Если язык не изменяется, вы можете использовать некоторые xpaths на основе текста или если структура такая же, каждый раз то же самое, что и вы можете попробовать на основе позиции. – lauda

ответ

0

вы должны быть в состоянии найти HTML тег, который содержит 'Category' текст (ниже C# код):

var category = driver.FindElement(By.XPath("//b[contains(., 'Category')]")); 

[править]

, чтобы получить текст этого элемента:

var textOfCategoryField = category.Text; 

и для захвата значений из других полей просто замените строку «Категория» для каждого элемента:

var textOfAddressField = driver.FindElement(By.XPath("//b[contains(., 'Address')]")).Text; 
var textOfCountryField = driver.FindElement(By.XPath("//b[contains(., 'Country')]")).Text; 

и т.д ..

+0

Спасибо. Я пытался. Он работал, чтобы вытащить «Catergory:» с веб-страницы. Но я хочу получить текст после этого Catergory :. Что мне делать? Могу ли я использовать Xpath, чтобы найти их? –

+0

Использовать свойство Text на элементе –

+0

Спасибо Якубу, теперь я могу получить текст «Категория:» только. Оригинальный веб-источник похож на то, что Категория: Общие больницы
, я не могу получить текст «общие хосипалы». –

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