2016-06-21 2 views
1

Я пишу код в Python, используя library_Beautiful суп, и я хочу, чтобы выбрать этот тег (с помощью CSS Selector):Css селектор для атрибута, значение которого имеет пробельные

<div> 
... 
    <div> 
    ... 
    <div style=" height:80px; width:700px; "> 
    ... 

Я пытаюсь сделать:

soup.select('div div div[style*="height:80px; width:700px"]') 

(селектор CSS внутри одиночные кавычки, т.е.

'div div div[style*="height:80px; width:700px"]') 

Но это не Сель ect любой тег.

Я также попытался:

soup.select('div div div[style*="height:80px;"][style*="width:700px"]') 

Но это также не работает.

мне не позволено делать:

soup.select('div div div[style=" height:80px; width:700px "]') 

как это вызывает ошибку о том, что это неверный селекторе CSS (пробела после начала двойных кавычек или перед окончанием двойных кавычек не допускается).

Может ли кто-нибудь предложить мне правильный селектор css для этого тега?

+0

Вы могли бы добавить код или что-то еще, чтобы продемонстрировать свой код? –

ответ

1

Вы можете использовать find:

.find("div", style=" height:80px; width:700px; ")) 

Использование нескольких атрибутов в отборное не работает с BS4, вы также ограничены тем, что вы можете передать при поиске по атрибутам, то лучшее, что вы могли бы сделать выбрать один .select_one("div[style*=height:80px;]" или [style*=width:700px;]".

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