2017-01-09 102 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) 
相關問題