Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/345.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 使用python selenium在浏览器中编辑元素_Javascript_Python_Selenium_Attributes_Element - Fatal编程技术网

Javascript 使用python selenium在浏览器中编辑元素

Javascript 使用python selenium在浏览器中编辑元素,javascript,python,selenium,attributes,element,Javascript,Python,Selenium,Attributes,Element,如何在使用Python 2.7 Selenium打开的浏览器中编辑元素。 假设我有这个元素: <span id="some-random-number">100</span> 但我希望元素的文本更改为200: <span id="some-random-number">200</span> 200 我怎么做?除文本外,我还可以编辑元素的属性,例如: <div class="something" style="transition: tr

如何在使用Python 2.7 Selenium打开的浏览器中编辑元素。 假设我有这个元素:

<span id="some-random-number">100</span>
但我希望元素的文本更改为200:

<span id="some-random-number">200</span>
200
我怎么做?除文本外,我还可以编辑元素的属性,例如:

<div class="something" style="transition: transform 1000ms bla bla bla"></div>

我的脚本可以读取属性并将1000毫秒编辑为不同的值吗?

尝试以下操作:

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

关于第二个问题:

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)
这是你的答案-

  • 更改元素的文本-

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

  • 更改或设置属性值

            element =  driver.find_element_by_class_name("something");
            driver.execute_script("arguments[0].setAttribute('style', 'transition: transform 2500ms bla bla bla')", element);
    
  •         element =driver.find_element_by_id("some-random-number")
            driver.execute_script("arguments[0].innerText = '200'", element)
    
            element =  driver.find_element_by_class_name("something");
            driver.execute_script("arguments[0].setAttribute('style', 'transition: transform 2500ms bla bla bla')", element);