当前位置: 首页 > 知识库问答 >
问题:

C#-Selenium Webdriver,无法选择radiobutton,因为其上显示了标签

沈健
2023-03-14
  1. Driver.FindElement(By.CSSSelector(“[value='fomen']”))。Click();
  2. driver.findElement(by.xpath(“//input[contains(@value,'male']”)).click();
  3. Driver.FindElement(By.CSSSelector(“input[type='radio'][value='male']”))。Click();
  4. driver.findElement(by.xpath(“//input[@value='fomen']”))。click();

但没有一个是从上面起作用的。性别字段的html如下所示:

<li class="radiobutton-yesno ui-buttonset">
	<span class="label">
	Gender                        
		<span class="help-icon" data-title="Your gender is a factor in determining your cost.">
		</span>
	</span>
	<input type="radio" id="genderNo_1" name="gender_1" value="Male" class="reqCntrl ui-helper-hidden-accessible">
		<label for="genderNo_1" class="ui-button ui-widget ui-state-default ui-button-text-only ui-corner-left" role="button">
			<span class="ui-button-text">Male</span>
		</label>
	<input type="radio" id="genderYes_1" name="gender_1" value="Female" class="ui-helper-hidden-accessible">
		<label for="genderYes_1" class="ui-button ui-widget ui-state-default ui-button-text-only ui-corner-right" role="button">
			<span class="ui-button-text">Female</span>
		</label>
</li>

页面上的字段如下所示:在此处输入图像描述

共有1个答案

戚晨
2023-03-14

类型可能是通过CSS/JS规则隐藏的。所以你不能点击那些-Selenium不会让你做一些用户做不到的事情。

@value属性也属于radiobutton的,因此在选择器中使用该属性将不起作用,因为整个元素是隐藏的。

相反,请使用或标签下的并与其文本匹配:

  1. //label/span[text()='flome']
  2. //label/span[text()='male']

PS:这个问题的性质有点让人担心:

“你的性别是决定你花费的一个因素。”

 类似资料:
  • 问题内容: 为什么此代码不起作用? 我总是会出错。我已经启用,并且在php.ini中也是128M。如果我删除,我不会收到错误,但也不会看到图像。我所看到的是这个:- £ ,` 问题答案: 您不得在之前输出任何内容 。只需以(作为第一个文件字符)开头,然后是用于显示图像的代码即可。跳过HTML标签。 甚至不要在 header() 之前写一个空白行 。 如果要在您的html文档中显示图像,则必须在两个

  • 问题内容: 我的网站上有一个选择控件。我正在使用页面对象与页面进行交互。如果我这样做(在我的课程下的前两行和我的方法中) 它以空指针失败。我也尝试了没有。 现在,如果我在我的方法中执行此操作,则一切正常,然后选择正确的项目 这是该控件的实际网页摘要(已编辑以保护无辜者) 让我说我可以解决我的问题, 但是 我不明白为什么“ 正常 ”路径无法正常工作。 问题答案: 那是因为该类具有以下构造函数: 见J

  • 在学完 Button 之后,我们已经可以和用户产生一定的互动了,但仅仅这些还远远不够,很多时候我们需要给用户提供一些选项,比如“记住密码”、“自动登录”、“投票”等场景,我们需要提供一个或者多个选项给用户勾选。这种场景下就可以使用 RadioButton 和 Checkbox ,这二者的区别就是前者是单选,而后者支持多选。 1. RadioButton RadioButton 和 Checkbox

  • 我需要收到电子邮件中的信件。这些邮件不存在于“收件箱”文件夹中,但存在于“所有邮件”文件夹中。 我使用lib“S22。伊马普”。此ImapClient中的DefaultMailbox是“INBOX”。但是,如果我更改此默认邮件框,则有一个例外:“xm002 NO [不存在] 未知邮箱:所有邮件(失败)”。 我的代码: 请帮我解决我的问题!

  • 本文向大家介绍RadioButton实现选择后可取消选择,包括了RadioButton实现选择后可取消选择的使用技巧和注意事项,需要的朋友参考一下 Radiobutton是一种单选按钮,是由于RadioGroup管理下的一组按钮,所以一旦其中的一个button选中,再点击,就不能取消,想要取消调用Radiobutton的setchecked(boolean isChecked)的方法。 在网上找了

  • WebElement drpAmentization=driver.findElement(by.xpath(“//select[@id='Amentissement']”));