Я использую селен с IE 7,8,9, и по некоторым причинам некоторые IE-3 работают в IE 7 и 9, но не 8. Это код для локаторов:Selenium: IE8 Локаторы CSS
IE 9
tab = driver.find_element_by_css_selector('ul.tabs:nth-of-type(1) li:nth-of-type(%d)' % x)
IE 7
tab = driver.find_element_by_css_selector('ul.tabs:eq(1) li:nth-child(%d)' % x)
, но в IE 8, используя локатор nth-child, or :eq, or nth-of-type
, выдается WebDriverException, говорящее, что он не может найти элемент.
Кроме того, приведенный выше код работает в IE 8 через консоль dev, он просто не работает с селеном (предположительно потому, что селен использует Sizzle для селекторов).
Может ли кто-нибудь проинформировать меня о том, почему это не работает в IE 8, или предлагает возможные обходные пути, которые будут работать. (Я пробовал такие вещи, как ul.tabs:eq(1) > li:nth-child(%d)
т.е. вставляя >
сек между селекторами, но это не сработало)
Я использую селен сервер 2.23, с IEDriverServer 32 бит и питоном 2.23 API.
«по-видимому, потому что селен использует Sizzle для селекторов» - Selenium1 использует sizzle не Webdriver/Selenium2. Webdriver использует селектора css. –