<div class="my_account_module_content">
<h3 class="my_account_module_content_title">
Mi Dirección 1
<br>
<span>Predeterminada</span>
<div class="selectCard_left">
<input id="17390233" class="default_shipping_address" type="radio" name="address" checked="true">
<span>Seleccionar como tarjeta predeterminada</span>
</div>
这是HTML代码
如果选中的单选按钮为true,则打印类跨度值? 请帮帮我..
答案 0 :(得分:5)
在Java中,这样做:
if(driver.findElement(By.id("17390233")).isSelected()){
System.out.println(driver.findElement(By.xpath("//input[@id='17390233']/following-sibling::span[1]")).getText());
}
如果选中单选按钮,则会显示文本。如果你想在某个地方使用这个文字,我建议你把它放在一个字符串中:
String spanText = driver.findElement(By.xpath("//input[@id='17390233']/following-sibling::span[1]")).getText();
希望这能回答你的问题。
编辑:以下是其他尝试方式的更新。
如果className default_shipping_address
是唯一的(例如,未在页面上的任何其他位置使用),您可以尝试通过 className 定位元素:
if(driver.findElement(By.className("default_shipping_address")).isSelected()){
System.out.println(driver.findElement(By.xpath("//input[@class='default_shipping_address']/following-sibling::span[1]")).getText());
}
如果该类不是唯一的,那么DIV的className selectCard_left
可能是?
if(driver.findElement(By.className("selectCard_left"))){
System.out.println(driver.findElement(By.xpath("//div[@class='selectCard_left']/span[1]")).getText());
}
如果classNames都不是唯一的,则需要完整的xpath表达式。如果您仍然无法获得该文本,请参阅阅读如何使用xpath:http://www.w3schools.com/XPath/xpath_syntax.asp
我希望您发现此信息有用。