【发布时间】:2017-05-29 02:46:41
【问题描述】:
我正在尝试在下拉列表中选择一个元素。当我尝试仅使用 Selenium C# 时,我得到了一个 Div 错误,并被建议使用 jQuery 来进行选择。Div 错误是元素应该被选择但是 div。我曾尝试使用 sendkeys 来选择下拉菜单,然后我得到它不能专注于元素的错误。
我目前有以下代码,但无法运行:
using OpenQA.Selenium;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using NUnit.Framework;
using OpenQA.Selenium.Chrome;
using WebAuto;
using System.Drawing.Imaging;
using OpenQA.Selenium.Support.UI;
using Selenium.WebDriver.Extensions.JQuery;
using OpenQA.Selenium.Remote;
namespace WebAuto
{
class AddTrade
{
[Test]
public static void AddTrade1()
{
var driver = new ChromeDriver();
driver.Navigate().GoToUrl("webaddress");
var inputtext1 = driver.FindElement(OpenQA.Selenium.By.Id("lgLogin_txtUserId"));
inputtext1.SendKeys("User");
var inputpassword1 = driver.FindElement(OpenQA.Selenium.By.Id("lgLogin_txtPassword"));
inputpassword1.SendKeys("Password");
var inputbutton1 = driver.FindElement(OpenQA.Selenium.By.Id("btnLoginClient"));
inputbutton1.Click();
System.Threading.Thread.Sleep(3000);
driver.FindElement(OpenQA.Selenium.By.Id("s2id_selTrader")).Click();
$("#s2id_selTrader").val("Main Trader");
我该如何解决这个问题?
【问题讨论】:
-
您遇到的“Div 错误”是什么?我建议您花时间弄清楚为什么您的第一种方法一开始就不起作用,因为这可能表明如果不解决问题,可能会以其他方式困扰您。您的页面上是否有多个具有相同 ID 的元素?您是否需要使用 WebDriverWait (not
Thread.Sleep) 来让元素有时间加载?等 -
您可能会重写标题以简要描述您的问题。清单 3 技术没有描述问题的含义。
-
@StriplingWarrior: 我得到错误 Element should have been select but was div