有没有办法使用 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 包含一个 , 字符,您需要避免在它们之间使用。如此有效,您可以使用以下任一方法 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();