<span class="radioButtonHolder">
<input type="radio" name="R001000" value="1" id="R001000.1" class="customCtrlLarge" />
</span>
<label for="R001000.1">Test 1</label>
</div>
<div class="Opt2 rbloption">
<span class="radioButtonHolder">
<input type="radio" name="R001000" value="2" id="R001000.2" class="customCtrlLarge" />
</span>
<label for="R001000.2">Test 2</label>
</div>
Java代码:
List<WebElement> RadioGroup1 = driver.findElements(By.name("R001000"));
for (int i = 0; i < RadioGroup1.size(); i++) {
System.out.println("NUM:" + i + "/" + RadioGroup1.get(i).isSelected());
}
RadioGroup1.get(1).click();
错误代码:
Started InternetExplorerDriver server (32-bit)
2.44.0.0
Listening on port 30883
NUM:0/false
NUM:1/false
NUM:2/false
Exception in thread "main" org.openqa.selenium.ElementNotVisibleException: Cannot click on element (WARNING: The server did not provide any stacktrace information)
Command duration or timeout: 91 milliseconds
Build info: version: '2.44.0', revision: '76d78cf', time: '2014-10-23 20:02:37'
System info: host: 'Code-PC', ip: 'Nope', os.name: 'Windows 7', os.arch: 'amd64', os.version: '6.1', java.version: '1.8.0_31'
Driver info: org.openqa.selenium.ie.InternetExplorerDriver
Capabilities [{browserAttachTimeout=0, enablePersistentHover=true, ie.forceCreateProcessApi=false, ie.usePerProcessProxy=false, ignoreZoomSetting=false, handlesAlerts=true, version=11, platform=WINDOWS, nativeEvents=true, ie.ensureCleanSession=false, elementScrollBehavior=0, ie.browserCommandLineSwitches=, requireWindowFocus=false, browserName=internet explorer, initialBrowserUrl=http://localhost:30883/, takesScreenshot=true, javascriptEnabled=true, ignoreProtectedModeSettings=false, enableElementCacheCleanup=true, cssSelectorsEnabled=true, unexpectedAlertBehaviour=dismiss}]
Session ID: cebed22f-5ae6-464b-bb1b-a18150f9e5a8
at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:62)
at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45)
at java.lang.reflect.Constructor.newInstance(Constructor.java:408)
at org.openqa.selenium.remote.ErrorHandler.createThrowable(ErrorHandler.java:204)
at org.openqa.selenium.remote.ErrorHandler.throwIfResponseFailed(ErrorHandler.java:156)
at org.openqa.selenium.remote.RemoteWebDriver.execute(RemoteWebDriver.java:599)
at org.openqa.selenium.remote.RemoteWebElement.execute(RemoteWebElement.java:268)
at org.openqa.selenium.remote.RemoteWebElement.click(RemoteWebElement.java:79)
at javaapplication4.JavaApplication4.main(JavaApplication4.java:59)
我在这里使用了三个属性。type
将确保它只返回radio
按钮,name
将筛选更多元素以查找,确保它只找到具有匹配名称的元素,然后使用id
唯一标识该元素。注意,您可以将cssselector
用作[id='r001000.1']
。我只是在向你展示不同的可能性。
CssSelextor用于第一个无线电
[name='R001000'][id='R001000.1'][type='radio']
用于第二无线电的CssSelector
[name='R001000'][id='R001000.2'][type='radio']
实施:
By byCss = By.cssSelector("[name='R001000'][id='R001000.2'][type='radio']");
driver.findElement(byCss).click();
对于这种情况,我不建议您使用for
循环。问题是可能有超过预期的数目的单选按钮/元素隐藏相同的名称,所以列表将返回您的一切。
public void Test()
{
_driver = new FirefoxDriver();
_driver.Navigate().GoToUrl(Url);
_driver.Manage().Window.Maximize();
_driver.FindElement(By.Id("CN1")).SendKeys("7203002");
_driver.FindElement(By.Id("CN2")).SendKeys("0370");
_driver.FindElement(By.XPath("//*[@id='InputDay']/option[@value='23']")).Click();
_driver.FindElement(By.XPath("//*[@id='InputMonth']/option[@value='02']")).Click();
_driver.FindElement(By.XPath("//*[@id='InputYear']/option[@value='15']")).Click();
_driver.FindElement(By.Id("NextButton")).Click();
_driver.FindElement(By.XPath("//label[.='Lunch']//../span")).Click();
_driver.FindElement(By.XPath("//label[.='Dining room']//../span")).Click();
}
我正在尝试使用selenium和Python单击这个单选按钮。 我有 但它不允许我点击它。我如何使用名称、值或类、值等的组合来点击? 关于如何使用硒,是否有一个很好的信息来源?因为我所发现的大部分是在java上使用的,而我使用的是Python。 编辑:使用XPATH
我已经搜索了前面的一些问题,并没有能够纠正--我是一个完全的新手,所以请原谅我的无知...尝试使用以下方法选择页面上的第三个“单选”按钮: 结果是: “消息:没有此类元素:找不到元素:{”method“:”XPath“,”Selector“:”//[@id=“Wizard_Tabs”]/div/div[1]/div/ul/li[3]/input“}”
问题内容: 我的网站上有一个选择控件。我正在使用页面对象与页面进行交互。如果我这样做(在我的课程下的前两行和我的方法中) 它以空指针失败。我也尝试了没有。 现在,如果我在我的方法中执行此操作,则一切正常,然后选择正确的项目 这是该控件的实际网页摘要(已编辑以保护无辜者) 让我说我可以解决我的问题, 但是 我不明白为什么“ 正常 ”路径无法正常工作。 问题答案: 那是因为该类具有以下构造函数: 见J
感谢任何帮助!第一次海报和努比编码器:)
问题内容: 我正在尝试从3个按钮的列表中进行选择,但是找不到选择它们的方法。以下是我正在使用的HTML。 我可以使用以下代码找到它: 输出:SRF,COM,MOT 但我想选择ChoiceOne。(单击它)我该怎么做? 问题答案: 使用CSS选择器或XPath 直接按属性选择,然后单击它。 更正(但是OP应该学习如何在文档中查找) 在Python绑定中,它不存在,称为。一个人应该能够查看异常消息并在
此输出:SRF、COM、MOT 但我想选一个。(点击它)我怎么做?