问题: 我在确定Appium中的元素时遇到问题。
由于我无法识别该元素,因此设法通过xpath识别了下一个元素。我们称其为“ FOUND”元素。
现在,我尝试从此元素“ FOUND”中获取上一个元素。
在上面的屏幕截图中,您可以看到我正在谈论的元素。 为了找到“ FOUND”元素,我在类“ android.widget.TextView”中循环所有元素,提取属性“ text”并将其组合为字符串“ Website”。 然后从FOUND元素中,尝试找到所需的元素。我尝试了很多各种各样的表情,但没有成功。我使用“尝试,除外”来尝试进行此操作,但没有成功。
代码如下:
elements_of_profile_detail_page = driver.find_elements_by_class_name("android.widget.TextView")
list_xpath=[
"preceding-sibling::android.widget.TextView[1]",
"preceding-sibling::android.widget.TextView[1]",
"(/preceding-sibling::android.widget.TextView)[1]",
"/*preceding-sibling::android.widget.TextView[1]",
"(/*preceding-sibling::android.widget.TextView)[1]",
"(preceding-sibling::android.widget.TextView)[1]",
"../android.widget.TextView[0]",
"preceding-sibling::*[1]",
"/preceding-sibling::android.widget.TextView",
"preceding-sibling::android.widget.TextView",
"(preceding-sibling::android.widget.TextView)[1]"
]
i=0
while i<len(list_xpath):
try:
website = element_of_profile_detail_page.find_element_by_xpath(list_xpath[i]).get_attribute('text')
print(f"website : {website}")
print(f"xpath : {xpath}")
break
except:
print("It didn't work!")
i+=1
这是另一个屏幕快照,其中包含我需要的元素的更多详细信息:
我正在使用Appium 1.15.1和Python 3.7。我不认为这很重要,因为这是Xpath的问题。
我希望我能提供足够的细节来找到解决方案。从今天早上很早开始,我就在为此工作。
答案 0 :(得分:0)
您可以通过在xpath中使用其文本直接找到该元素,例如:
element = driver.find_element_by_xpath("//*[contains(@text,'AlfangeAcademy')]")