2016-05-09 4 views
-1

Я хочу скопировать последнее слово предложения, определенного в диапазоне с использованием selenium python. Я в состоянии получить все предложение, используя это: -Получить последний элемент из предложения в span, используя selenium python

elements = browser.find_element_by_css_selector("span[ng-if='!product.product.isOnlyCarCategory']"); 
print elements 
result = elements.text 
print result 

Выход: - Buy for Rs 329

Я хочу только 329, который будет выводиться не целое предложение. Я попытался с помощью функции питона заменить и в состоянии достичь того, чего я хочу, как это: -

elements = browser.find_element_by_css_selector("span[ng-if='!product.product.isOnlyCarCategory']"); 
print elements 
result = elements.text 
result = int(result.replace('Buy for Rs ','')) 
print result 

Выход: - 329

, но я не хочу использовать функцию замены. Я хочу использовать селен, чтобы сделать то же самое. И да, это целочисленное значение является динамическим

Есть ли способ сделать это?

+0

Почему бы вам не просто 'split' строку через пробел и получить последний элемент? – Abbas

+0

@Abbas да я могу использовать это, но что, если веб-сайт изменит свой текст диапазона в будущем. Тогда это не сработает – User0706

+0

, вы можете поймать числовое значение после Rs с регулярным выражением и заменить всю строку на – dnit13

ответ

0

Вы можете использовать регулярное выражение, или для цикла вместо:

strNum = "" 
for c in result[::-1]: 
    if c.isdigit(): 
     strNum=c+strNum 
    elif len(strNum)>0: 
     break 
num=into(strNum) 
print num