我使用Selenium的v2.52和WebDriver與C#。我想實現的目標應該相當簡單,但我無法找到解決方案:我想通過多個By
-criteria找到一個元素。找到一個滿足多個By-criteria的Selenium Webdriver元素
比方說,我有這樣的事情:
<a href="#" class="foo">Click me!</a>
<a href="#" class="bar">Click me!</a>
<p class="foo">Click me!</p>
忽略了一個事實,我可以使用By.CssSelector
,By.CssSelector
,By.XPath
等。我假定它應該可以做這樣的事情:
driver.FindElement(By.TagName("a").ClassName("foo"))
// ...or something like this...
driver.FindElement(By.TagName("a"), By.ClassName("foo"))
OpenQA.Selenium.Support.PageObjects.ByChained
不會做的伎倆,因爲它是搜索層次。
有沒有辦法找到符合多個By
-criteria的元素?
最好的問候, 卡斯滕
,什麼是錯用'XPath'和'CssSelector'? – Andersson
它沒有什麼不對。好的,也許XPath有點靜態。我只是想知道我是否可以像我描述的那樣找到元素。 –
我想沒有這樣的方式來找到多個過濾器的元素。無論如何,'xpath'會更加靈活,因爲只有'xpath'和'cssSelector'才能找到許多'HTML'屬性。還要注意,包含空格的類名不能與By.ClassName(「foo」)方法匹配,但可以與By.XPath('// * [@ class =「foo」]匹配')'... – Andersson