我被困在一端,我无法获得文本值。
为了更好地观看: -
address_zip...
我使用以下xpath识别类//*[contains(text(),'30428')]
:
.singleImageWraps
如何获取文字值 GA 和 Glenwood ?
答案 0 :(得分:2)
它不会工作,因为有相同的重复类名,那就是为什么我要问有没有办法从text()指向上面的两个元素。
您可以在xpath
下面使用: -
获取 Glenwood 文字:
.//div[span[text() = '30428']]/span[@class = 'address_city']
获取 GA 文字:
.//div[span[text() = '30428']]/span[@class = 'address_state']
答案 1 :(得分:1)
您可以使用preceding-sibling
//*[contains(text(),'30428')]/preceding-sibling::span[@class='address_city']
//*[contains(text(),'30428')]/preceding-sibling::span[@class='address_state']
您还可以找到邮政编码元素并使用它
WebElement zip = driver.findElement(By.xpath("//*[contains(text(),'30428')]"));
String city = zip.findElement(By.xpath("//preceding-sibling::span[@class='address_city']")).getText();
String state = zip.findElement(By.xpath("//preceding-sibling::span[@class='address_state']")).getText();
答案 2 :(得分:0)
为什么不使用:
string city =Driver.FindElement(By.ClassName("address_city")).Text;
string state =Driver.FindElement(By.ClassName("address_state")).Text;
如果这些类与其他元素重复:
//first get the zip as you are doing now.
IWebElement zip=Driver.FindElement(By.Xpath("//*[contains(text(),'30428')]"));
//now get the father element.
IWebElement father=zip.FindElement(By.XPath(".."));
//now get all the spans
IList<IWebElement> allElements=father.FindElements(By.TagName("span"));
//reach the elements you want.
IWebElement city=allElements.ElementAt(0);
IWebElement state=allElements.ElementAt(1);
答案 3 :(得分:0)
// [含有(文本(), '30428')] /前同辈::跨度[含有(@类, 'ADDRESS_CITY')] // [含有(文本(), '30428')] /前同辈::跨度[含有(@类, 'ADDRESS_STATE')]
答案 4 :(得分:0)
尝试下面提到的xpath
获取 GA
的价值//span[text()= '30428']/..//preceding-sibling::span[text()= 'GA')]
xpath的说明:使用text
方法和<span>
标记,并使用<span>
继续使用其他preceding-sibling keyword
标记。
OR
//span[text()= 'Glenwood']/following-sibling::span[text()= 'GA']
xpath的说明:使用text
方法和<span>
标记,并使用<span>
继续使用其他following-sibling keyword
标记。
OR
//span[text()= 'Glenwood']/..//following-sibling::span[text()= 'GA']
xpath的说明:使用text
方法和<span>
代码,并使用<span>
继续使用其他following-sibling keyword
代码。
获得 Glenwood
的价值//span[text()= 'GA']/..//preceding-sibling::span[text()= 'Glenwood']
xpath的说明:使用text
方法和<span>
代码,并使用<span>
继续使用其他preceding-sibling keyword
代码。