Селектор CSS для других тегов, кроме div и span?

Я использовал селекторы css как div и span до сих пор, используя Selenium WebDrivers с Ruby для тестирования.

Однако у меня также есть некоторые атрибуты dd и xmlns: dd. Возможно ли иметь селектор css для этого.

HTML-код:

    <div class="class1 class2 class3 class4" style="padding: 4px;" id="_c04a6325-5316-4177-980f-38484eb27730"> 
      <span class="class5" style="font-weight: bold; text-decoration: underline;">Month</span> 
        <div class="class6" dd:contenttype="Month" dd:referenceuuid="1446A201-FD91-4A82-B645-  306DC948DC48" id="_3d510b04-8a5a-4bf9-bc7a-8efd55f9ca48">
          <div xmlns:dd="Week" class="class7 class8" dd:entityid="1457893" dd:contenttype="Monday" id="_7480bbe4-bbf0-4a54-8994-ae773b418470">
             Breakfast 
          </div> 
        </div>
      </span>
   </div>

Чем я сейчас занимаюсь:

$driver.find_elements(:css, 'div.class7.class8')

Чем я хочу заниматься:

Что-то вроде этого, чтобы использовать данные в dd:contenttype и/или xmlns:dd для поиска элемента

$driver.find_elements(:css, 'div.dd:contenttype="Monday"')       OR
$driver.find_elements(:css, 'div.xmlns:dd="Week"')

Можно ли найти и элемент с помощью dd:contenttype и/или xmlns:dd??


person tech_human    schedule 01.08.2013    source источник


Ответы (2)


используйте 1_

для получения дополнительной информации вы можете взглянуть на http://sauceio.com/index.php/2010/01/selenium-totw-css-selectors-in-selenium-demystified/

person Alex May    schedule 01.08.2013
comment
Я получаю некоторую ошибку Selenium::WebDriver::Error::InvalidElementStateError: SYNTAX_ERR: DOM Exception 12, я пытаюсь сделать это. - person tech_human; 01.08.2013
comment
Я прошел всю ссылку и перепробовал все возможные способы для тега 'dd:contenttype', но даже это не работает для меня. - person tech_human; 01.08.2013
comment
Я не знаю, связано ли это с тем, что div является вложенным div... Но я думаю, что это не должно иметь место с селекторами CSS. Однако теперь я обновляю точный HTML-код с помощью вложенного div. - person tech_human; 01.08.2013
comment
не имеет значения, что div вложен, вы можете убедиться, что этот селектор работает, выполнив: document.querySelector('div[dd\\:contenttype=Monday]') в консоли javascript - person Alex May; 01.08.2013

Попробуйте так:

$driver.find_elements(:xpath, "//div[@class = 'class6 class7' and @dd:contenttype = 'Monday'")

Вышеуказанное должно работать.

person Arup Rakshit    schedule 01.08.2013
comment
Я пробовал метод xpath... Он у меня не работает, поэтому я решил использовать css. У меня есть только один элемент с этими атрибутами в DOM, поэтому я даже пытался выполнить find_element вместо find_elements, и я получаю «Selenium::WebDriver::Error::NoSuchElementError: Элемент не может быть расположен на странице с использованием данного поиска параметры. ошибка. - person tech_human; 01.08.2013
comment
Я также попытался удалить атрибут класса, например: $driver.find_element(:xpath, //div[@dd:contenttype = 'Monday']) - person tech_human; 01.08.2013
comment
Можете ли вы поделиться ссылкой на веб-страницу, над которой вы работаете? - person Arup Rakshit; 01.08.2013
comment
Я работаю над настольным приложением, которое имеет часть html-кода или веб-просмотра. Так что я сомневаюсь, что это можно разделить. Но я использовал :xpath для других частей тестирования приложений (которые не являются веб-просмотром). По какой-то причине он не работает ни для каких тегов/атрибутов в веб-просмотре. - person tech_human; 01.08.2013
comment
Один вопрос: атрибут внутри div, который я ищу, находится во вложенном div. Под этим я подразумеваю ‹div class='Some class'› ‹span class='Some other class'› ‹div xmlns:dd=Week class=ddemrcontentitem ddremovable dd:entityid=1457893 dd:contenttype=Monday id=_7480bbe4-bbf0- 4a54-8994-ae773b418470› Завтрак ‹/div› ‹/span› ‹/div› - person tech_human; 01.08.2013
comment
Нужно ли мне предоставлять весь вложенный путь, начиная с самого верхнего внешнего div, затем span, а затем фактический div?? - person tech_human; 01.08.2013
comment
Я попытался, и мне кажется, что по какой-то причине я предполагаю, что сама вещь xpath не работает в моем веб-просмотре. Я должен выяснить, почему. Но спасибо, что рассмотрели мою проблему и ответили мне!! :) - person tech_human; 01.08.2013