下面是html,我想获得文字“Conference USA”
<li class="list-unstyled" style="background-color: transparent;">
<input id="account" type="checkbox" checked="checked" value="101" name="account"
style="background-color: rgb(255, 255, 255);"/> Conference USA
</li>
答案 0 :(得分:3)
根据您提出的问题并提供了评论,但实际上并不清楚您的想法。
因此,如果您希望li
元素使用文字会议美国,请尝试以下操作: -
WebElement liElement = driver.FindElement(By.Xpath("//li[contains(.,'Conference USA')]"));
或者如果您希望input
元素使用文字会议美国,请尝试以下操作: -
WebElement inputElement = driver.FindElement(By.Xpath("//li[contains(.,'Conference USA')]/input"));
或者如果您想要li
元素的文字会议美国,请尝试如下: -
string text = driver.FindElement(By.Xpath("//li[./input[@type = 'checkbox' and @value='101']]")).Text;
希望它会帮助你...... :)
答案 1 :(得分:1)
您应该能够唯一地找到li
和getText()
应该有效。例如,在java
中,它将如下所示:
String accountName =
driver.findElement(By.xpath(".//li[./input[@id='account']]")).getText();
编辑 c#
:
driver.FindElement(By.Xpath(".//li[./input[@id='account']]")).Text;
答案 2 :(得分:0)
尝试从如下所示的li webelement中获取“ innerHTML”属性,我之前遇到过同样的情况,并且对我有用:
driver.findElement(By.xpath("//li[contains(@class,'list-unstyled')]")).getAttribute("innerHTML");