【问题标题】:How to click <select> element to make the options displayed in selenium webdriver C#?如何单击 <select> 元素以使选项显示在 selenium webdriver C# 中?
【发布时间】:2017-08-14 01:23:35
【问题描述】:
<div class="form-control">
<label class="editor-property-label">Operation</label>
<select name="root[Donut][CenterLegend][Operation]">
   <option value="Sum">Sum</option> 
   <option value="Percentage">Percentage</option>
</select>
</div>

我尝试了三种方法,但都失败了。

方法一:

IWebElement element= driver.findElement(By.cssSelector("select[name='root[Donut][CenterLegend][Operation]']"));
(IJavaScriptExecutor)driver.ExecuteScript("arguments[0].click()", element);

方法二:

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);

【问题讨论】:

  • 我无法单击
  • 你使用element.Click()然后如果你想通过文本选择new SelectElement(element).SelectByText(@"TEXT AAA"),如果你想通过值选择然后new SelectElement(element).SelectByValue(@"Value AAA")和new SelectElement(element).SelectByIndex(integerValue)
  • 我没有选择任何选项,我只需要单击
  • 哦,所以只要 element.Click() 就足够了。试试吧 !我做到了!
  • (IJavaScriptExecutor)driver.ExecuteScript("arguments[0].style.border='2.5px orange solid';", element);我用它可以定位到

标签: javascript c# selenium


【解决方案1】:
(IJavaScriptExecutor)driver.ExecuteScript("arguments[0].size=arguments[0].length;", element);  

这对我有用.....问题只是暂时解决了。 希望有更好的方法。

【讨论】:

    【解决方案2】:

    名称不是 CSS 选择器。 你可以这样访问它:

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

    【讨论】:

    • 我用了你的建议,
    【解决方案3】:

    如果您已经通过使用drier.findElement 获得了&lt;select&gt; 元素,您应该可以使用element.Click() 来点击该元素。

    【讨论】:

    • 其实真的不能点击
    • 所以方法2可能对我有帮助,我点击
    猜你喜欢
    • 1970-01-01
    • 2020-12-22
    • 1970-01-01
    • 2011-09-25
    • 1970-01-01
    • 2012-08-10
    • 2021-09-29
    • 2016-10-03
    • 2021-04-26
    相关资源
    最近更新 更多