java
  • selenium-webdriver
  • 2016-01-22 26 views 0 likes 
    0

    我有一個全局變量字符串,我需要點擊一個web元素使用該全局變量作爲xpath的一部分。selenium - 從字符串存儲的xpath

    因此,例如全局變量是a = bob154;

    我知道下面的以下工作

    driver.findElement(By.xpath("//a[text()='bob154]")).click(); 
    

    ,但我想這樣做下面,只使用全局變量來代替,但不起作用。

    driver.findElement(By.xpath("//a[text()=a]")).click(); 
    

    如果您對我能做什麼有什麼建議將不勝感激!

    回答

    0

    當你把'a'放在雙引號裏面「作爲這個例子」時,代碼會認爲它是字符串,而不是變量。

    的代碼識別您的 'A' 作爲變量,你需要separe它:

    driver.findElement(By.xpath("//a[text()='" + a + "']")).click(); 
    

    「//一個[文本()='」將是第一個字符串

    一個是你的變量

    「']」是最後一個字符串

    「//一個[文本()= '」 + A + 「​​']」是動態的xpath

    0

    我想你可以簡單地使用另外的字符串:

    "//a[text()="+ a +"]" 
    
    0

    這不正確,因爲你的全局變量是雙引號。試試下面的代碼:

    driver.findElement(By.xpath("//a[text()='"+a+"']")).click(); 
    
    0

    嘗試下面

    driver.findElement(By.xpath("//a[text()='"+a+"']")).click();
    相關問題