2011-07-11 15 views
13

Pytanie o automatyzację. Używam Selenium RC.Co używać zamiast ZAWIERAĆ() w CSS3

uaktualnieniu moje FF 3.6.18 i wydaje się, że nie można znaleźć żadnych lokalizatory które mają „contains()” wewnątrz

Czytałem wiele forów. Jest to znany problem, ale nie znalazłem żadnego rozwiązania.

Więc co używać zamiast zawierać() teraz?

+1

': contains()' nigdy nie dotarł do specyfikacji, patrz http://stackoverflow.com/questions/4781141/why-h3nth-child1containsa -selector-doesnt-work/4781167 # 4781167 – BoltClock

+0

Możesz pobrać XPath, który ma funkcję 'zawiera()'. – BoltClock

+0

@BoltClock: podczas gdy prawdą jest, że ': contains()' nigdy nie dotarło do specyfikacji CSS3, zgodnie z najnowszymi opublikowanymi [Selenium docs] (http://release.seleniumhq.org/selenium-core/1.0.1 /reference.html), "Aktualnie lokalizator selektora css obsługuje ** wszystkie selektory ** css1, css2 i css3 z wyjątkiem ... [wyjątki nie są związane, pominięto tu z powodów związanych z przestrzenią]". Tak więc w Selenieum powinno działać. –

Odpowiedz

11

Jedyna funkcjonalność w CSS, który jest podobny do contains() jest:

element[attribute*="substring"] 

Jest to przydatne, gdy trzeba sprawdzić jakiś podciąg, który zawiera w atrybucie.

1

Można użyć jQuery: zawiera (tekst)

<script src="https://code.jquery.com/jquery-1.10.2.js"></script> 

<script> 
    $("div:contains('foo')").css("text-decoration", "underline"); 
</script> 
Powiązane problemy