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

Pro*_*ner 5 javascript python selenium attributes element

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

<span id="some-random-number">100</span>
Run Code Online (Sandbox Code Playgroud)

我知道您可以通过以下方式找到文本:

driver.find_element_by_id("some-random-number").text
Run Code Online (Sandbox Code Playgroud)

但我希望元素的文本更改为 200,所以:

<span id="some-random-number">200</span>
Run Code Online (Sandbox Code Playgroud)

我该怎么做?除了文本之外,我还可以编辑元素的属性,例如:

<div class="something" style="transition: transform 1000ms bla bla bla"></div>
Run Code Online (Sandbox Code Playgroud)

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

Shi*_*ijo 7

尝试这个:

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


Nar*_*raR 5

这是你的答案——

  1. 更改元素的文本 -

    driver.execute_script("document.getElementById('some-random-number').innerHTML = '200';");
    
    Run Code Online (Sandbox Code Playgroud)

    或者

            element =driver.find_element_by_id("some-random-number")
            driver.execute_script("arguments[0].innerText = '200'", element)
    
    Run Code Online (Sandbox Code Playgroud)
  2. 更改或设置属性值

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