Java 单击单选按钮

Java 单击单选按钮,java,selenium,selenium-webdriver,Java,Selenium,Selenium Webdriver,我一直试图点击网站上的单选按钮,但没有成功 先生 夫人 错过 太太 查看html结构: 您可以等待id为“”title“的web元素出现,然后查找类名为“md radio label content”的所有元素 一旦你有了所有这些,你可以检查文本并点击感兴趣的一个 例如,如果你想点击“先生”: WebElement titleRadiogroup=(新的WebDriverWait(驱动程序,10)) .直到(预期条件。根据身份证(“所有权”))确定的要素的存在; List ele=titl

我一直试图点击网站上的单选按钮,但没有成功


先生
夫人
错过
太太

查看html结构:

您可以等待id为“”title“的web元素出现,然后查找类名为“md radio label content”的所有元素

一旦你有了所有这些,你可以检查文本并点击感兴趣的一个

例如,如果你想点击“先生”:

WebElement titleRadiogroup=(新的WebDriverWait(驱动程序,10))
.直到(预期条件。根据身份证(“所有权”))确定的要素的存在;
List ele=titleRadiogroup.findElements(By.className(“md无线电标签内容”);
for(WebElement el:ele)
{
if(el.getText().equalsIgnoreCase(“Mr”))
{
el.click();
}
}

在这种情况下,我将使用XPath按元素的内容单击元素。您在这里遇到的一个问题是,这些包含标题的
DIV
s充满了空格(见下文)

另一个问题是不能使用
contains()
,因为
Mr
Mrs
都包含字符串
Mr
。我们可以通过使用
normalize-space()
来避免整个问题,它可以修剪空白

//div[normalize-space(.)='Mr']
如果是我,我会将其包装在函数中,因为您可能会重复使用它

public void selectTitle(String title)
{
    driver.findElement(By.xpath("//div[normalize-space(.)='" + title + "']")).click();
}
就这样说吧

selectTitle("Miss");

你能分享你试过的代码吗?我试过几种不同的方法。这是最新的。专用最终单选按钮Mr=新单选按钮(由.cssSelector(“#md-radio-93fd918>标签”);你能试试XPath吗?请检查下面的xpath是否有效WebElement mrElement=driver.findElement(By.xpath(“//label[@class='df-radio-label']/input”);如果(MrReist.ISDISPARED()){MrRest.CLK();}这将不起作用,因为<代码> .GETTHORE()/代码>将在一组空白区中返回<代码> MR <代码>,因此它永远不会完全<代码>。
//div[normalize-space(.)='Mr']
public void selectTitle(String title)
{
    driver.findElement(By.xpath("//div[normalize-space(.)='" + title + "']")).click();
}
selectTitle("Miss");