我一直在尝试从此处的网站选择性取向:https://www.okcupid.com/但我似乎无法理解。我已经尝试了一切,从使用 .Click() 方法在下拉列表中单击我想要的元素,然后到为此的支持类(SelectElement),如下所示:
driver.Navigate().GoToUrl("https://www.okcupid.com/");
new SelectElement(driver.FindElementByCssSelector("#orientation_dropdownContainer")).SelectByValue("2");
我也尝试过 SelectbyText() ,并且尝试过不同的元素(老实说我认为是所有元素),我可以考虑使用这个元素,但它仍然保留在默认选项上,有什么想法吗?使用 Selenium - Firefox。
最佳答案
选择器对我来说似乎是错误的。使用 id 作为选择元素orientation_dropdown
driver.Navigate().GoToUrl("https://www.okcupid.com/");
new SelectElement(_driver.FindElement(By.Id("orientation_dropdown"))).SelectByValue("2");
编辑
这是我见过的最奇怪的选择列表之一。但是,上面的代码将不起作用,并且发现使用 Actions
类可能很有用,并且它会起作用
string option = "Gay";
By xPath = By.XPath("//li[contains(text(),'"+option+"')]");
Actions actions = new Actions(_driver);
actions.MoveToElement(_driver.FindElement(By.Id("orientation_dropdown_chosen"))).Click().Build().Perform();
_driver.FindElement(xPath).Click();
关于c# - 尝试在 Selenium 的下拉列表中选择项目,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30495987/