2015-11-10 34 views
0

我使用硒來驗證醫生姓名出現在下拉框中的網站。如果數據庫中的名稱有額外的空格(如「Kildare,Jack,MD」),空白應該像「Kildare,Jack MD」一樣被刪除。我正在使用selenium方法select.getOptions()(其中,select是選擇框的Web元素)。在Selenium中使用select.getOptions()獲取值

當我從盒子中檢索日期並打印它時,它顯示的名稱仍然有空格(見下面的Alois Alzheimer和Sigmund Freud)。在文本框中直觀地顯示了Sigmund Freud格式正確,但Alois Alzhemier在Alois之後仍然有一個空間(見附圖)。我不確定這裏發生了什麼。看起來像選擇框偶爾會刪除空白本身,有時不會。任何線索?

下面是從選擇框中的文本調試:

DEBUG [PP21644] ----<Alzheimer, Alois , DO>----- 
DEBUG [PP21644] ----<Freud, Sigmund  Schlomo, Jr, MD>----- 
DEBUG [PP21644] ----<Mayo, Charles Mayo, MMIN>----- 

和它的外觀所附着的畫面。 Sigmund格式正確,但Alois不是(請參閱用黃色方塊突出顯示的空格)。是的,我必須用着名醫生的名字來執行此操作,以保護實際提供者的名稱。

enter image description here

+0

我認爲你取回一個字符串,並打印出來。如果是這種情況,那麼你應該可以使用'string.trim()'。你可能還想在執行'trim()'之前查看'string.split(「,」)'。 – AGill

+0

OPTION的HTML是什麼樣的?我的猜測是,名稱部分之間有一些HTML標籤導致所有額外的空格。要麼他們或他們沒有正確清理名稱。 – JeffC

回答

0

有你能做到這一點

  1. 你可以檢查OPTION S的HTML,並找出其中的空間是從哪裏來的,解析它,等幾個方面擺脫空間。我不能在這裏提供代碼,因爲我不知道HTML是什麼樣的。

  2. 給出你提供的另一種方法是使用正則表達式和.replace()刪除重複的空格並刪除逗號前的空格。

    public static void main(String[] args) 
    { 
        String s1 = "Alzheimer, Alois , DO"; 
        String s2 = "Freud, Sigmund  Schlomo, Jr, MD"; 
        String s3 = "Mayo, Charles Mayo, MMIN"; 
        System.out.println(cleanup(s1)); 
        System.out.println(cleanup(s2)); 
        System.out.println(cleanup(s3)); 
    } 
    public static String cleanup(String s) 
    { 
        return s.replaceAll(" +", " ").replace(" ,", ","); 
    } 
    
+0

不知道我的評論發生了什麼。消除多餘的空間是可以的,但逗號後不能有空格。在這種情況下,開發人員需要修復。 – Tony

+0

這不會刪除逗號後面的空格*只有空格之前。 – JeffC

相關問題