我使用Selenium来测试我公司的一些网络产品。 产品有按钮,打开对话框选择颜色。我认为它是使用'extJS'创建的(我不太确定)。 但是我点击该按钮的任何部分,使用Webdriver,它总是只设置当前选择的颜色,但更新的打开对话框窗口来选择颜色。
我在一些随机网站上发现了类似的按钮,它有类似的行为。
Link to site with button on developer.yahoo.com
因此,在您可以看到的页面源中,按钮的右侧部分没有特定元素,具有向下箭头。 所以xPath
//*[@id='color-picker-button']
描述所有,右侧和左侧部分的按钮。
但是这个描述的每个子元素只留下了这个按钮的一部分,所以带箭头的右边部分没有任何特定的xPath可以点击我的WebDriver文本。 我也试过像
这样的东西driver.action.move_to(element, coordinate_right, coordinate_down).perform
但它对我没有影响。
所以一般来说我的问题是:
上打开颜色选择器窗口答案 0 :(得分:3)
使用SendKeys()方法并将“向下箭头”键发送到控件(C#):
element.SendKeys(Keys.ArrowDown);
那应该打开它。