有没有办法使用 Appium 使用部分文本或完整文本单击元素
Is there a way to click an element using Partial text or complete Text using Appium
我正在尝试使用以下代码单击带有文本 "No, Thanks" 的元素,到目前为止我尝试了各种选项,例如
driver.findElementByXPath("//*[contains(text(),'THANKS')]").click();
driver.findElement(By.name("No,THANKS")).click();
driver.findElementByName("No,THANKS").click();
没有其他元素具有相同的文本。我正在使用 Appium 驱动程序和三星设备。
如果是TextView,可以考虑如下
driver.find_element_by_xpath("//android.widget.TextView[@text='No, Thanks']")
看来你很接近。文本 No, Thanks 包含一个 ,
字符,您需要避免在它们之间使用。如此有效,您可以使用以下任一方法 xpath based :
xpath 1:
driver.findElementByXPath("//*[starts-with(., 'No') and contains(., 'Thanks')]").click();
xpath 2:
driver.findElementByXPath("//*[contains(., 'No') and contains(., 'Thanks')]").click();
请试试这个:
driver.findElement(By.xpath("//android.widget.TextView[contains(@text,'No, Thanks')")).click();
我正在尝试使用以下代码单击带有文本 "No, Thanks" 的元素,到目前为止我尝试了各种选项,例如
driver.findElementByXPath("//*[contains(text(),'THANKS')]").click();
driver.findElement(By.name("No,THANKS")).click();
driver.findElementByName("No,THANKS").click();
没有其他元素具有相同的文本。我正在使用 Appium 驱动程序和三星设备。
如果是TextView,可以考虑如下
driver.find_element_by_xpath("//android.widget.TextView[@text='No, Thanks']")
看来你很接近。文本 No, Thanks 包含一个 ,
字符,您需要避免在它们之间使用。如此有效,您可以使用以下任一方法 xpath based
xpath 1:
driver.findElementByXPath("//*[starts-with(., 'No') and contains(., 'Thanks')]").click();
xpath 2:
driver.findElementByXPath("//*[contains(., 'No') and contains(., 'Thanks')]").click();
请试试这个:
driver.findElement(By.xpath("//android.widget.TextView[contains(@text,'No, Thanks')")).click();