2017-01-09 13 views
1

Как редактировать элемент в браузере, который я открыл с помощью Python 2.7 Selenium. Скажем, у меня есть этот элемент:Редактировать элемент в браузере с python selenium

<span id="some-random-number">100</span> 

Я знаю, что вы можете найти текст:

driver.find_element_by_id("some-random-number").text 

, но я хочу, чтобы текст изменения элемента, чтобы сказать 200 так:

<span id="some-random-number">200</span> 

Как я могу это сделать? Кроме того, за исключением того, из текста можно также изменить атрибут элемента, как, например, это:

<div class="something" style="transition: transform 1000ms bla bla bla"></div> 
Может

мой сценарий прочитать атрибут и редактировать 1000 мс в другое значение?

ответ

0

Вот ваш ответ -

  1. Изменить текст элемента -

    driver.execute_script("document.getElementById('some-random-number').innerHTML = '200';"); 
    

    или

     element =driver.find_element_by_id("some-random-number") 
         driver.execute_script("arguments[0].innerText = '200'", element) 
    
  2. Изменение или установить значение атрибута

     element = driver.find_element_by_class_name("something"); 
         driver.execute_script("arguments[0].setAttribute('style', 'transition: transform 2500ms bla bla bla')", element); 
    
2

Попробуйте это:

element =driver.find_element_by_id("some-random-number") 
driver.execute_script("arguments[0].innerText = '200'", element) 
0

Для вашего второго вопроса:

div_elem = driver.some_method_to_find_element() 
new_style = div_elem.get_attribute('style').replace('transform 1000ms', 'transform 200ms') 
driver.execute_script('arguments[0].setAttribute("style", "%s")' % new_style, div_elem)