私はIE7、8、9でセレンを使用していますが、何らかの理由で、一部のCSS3ロケーターはIE7および9で機能していますが、8では機能していません。これはロケーターのコードです。
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で機能しますが、セレンでは機能しません(おそらく、セレンはセレクターにSizzleを使用しているためです)。
誰かがこれがIE8で機能しない理由について私に教えてくれますか、または機能する可能性のある回避策を提案できますか?(つまり、セレクターの間にsをul.tabs:eq(1) > li:nth-child(%d)
挿入するようなものを試しましたが、うまくいきませんでした)>
私は、IEDriverServer32ビットとPython2.23APIを備えたSeleniumServer2.23を使用しています。