如何单击<select>元素使选项显示在selenium webdriver C#中?

时间:2017-03-22 04:53:09

标签: javascript c# selenium

&lt; div class =“form-control”&gt; &lt; label class =“editor-property-label”&gt;操作&lt; / label&gt; &lt; select name =“root [Donut] [CenterLegend] [Operation]”&gt;    &lt; option value =“Sum”&gt; Sum&lt; / option&gt;    &lt; option value =“Percentage”&gt; Percentage&lt; / option&gt; &LT; /选择&GT; &LT; / DIV&GT; 我尝试了三种方法,但都失败了。 方法一: IWebElement element = driver.findElement(By.cssSelector(“select [name ='root [Donut] [CenterLegend] [Operation]']”)); (IJavaScriptExecutor)driver.ExecuteScript(“arguments [0] .click()”,element); 方法2: IWebElement element = driver.findElement(By.cssSelector(“label [class ='editor-property-label']”)); (IJavaScriptExecutor)driver.ExecuteScript(“document.elementFromPoint(”+ element.Location.X +10 +“,”+ element.Location.Y + 10 +“)。click();”); 方法3: IWebElement element = driver.findElement(By.cssSelector(“select [name ='root [Donut] [CenterLegend] [Operation]']”)); (IJavaScriptExecutor)driver.ExecuteScript(“document.elementFromPoint(arguments [0],arguments [1])。click();”element.Location.X,element.Location.Y);

3 个答案:

答案 0 :(得分:0)

如果您已通过<select>使用drier.findElement元素,则应该可以使用element.Click()点击该元素。

答案 1 :(得分:0)

名称不是css选择器。 你这样访问它:

IWebElement select = driver.FindElement(By.Name("root[Donut][CenterLegend][Operation]")

答案 2 :(得分:0)

(IJavaScriptExecutor)driver.ExecuteScript("arguments[0].size=arguments[0].length;", element);  

它为我工作.....这个问题只是暂时解决了。 希望更好的方法。