Как редактировать атрибут элемента в HTML через Selenium и Python? - PullRequest
0 голосов
/ 24 августа 2018

Так что моя проблема в том, что мне нужно отредактировать этот источник изображения в селене, но у него нет идентификатора или класса.

<div id="mbr-content">
            <div class="nope" some random stuff>
    <script>
    </script>

        <div class="mbr-image-container">
            <div class="mbr-image-wrapper">
                <div class="mbr-image">
                    <img src="this source need to modify" alt="app_image">
                </div>
            </div>
        </div>
    #Html continues here

Я просто по какой-то причине не могу понять это.

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

driver.execute_script("something here")

Использование python-3.7

Ответы [ 2 ]

0 голосов
/ 24 августа 2018

В соответствии с HTML , который вы предоставили для редактирования атрибута src нужного элемента, вы можете использовать следующее решение:

element = driver.find_element_by_xpath("//div[@class='mbr-image-container']/div[@class='mbr-image-wrapper']/div[@class='mbr-image']/img[@alt='app_image']")
driver.execute_script("arguments[0].setAttribute('src','something here')", element)
0 голосов
/ 24 августа 2018

Javascript, необходимый для установки атрибута src вашего <img> элемента:

document.querySelector(".mbr-image > img").src="whatver you want";

Итак, вы можете попробовать следующее решение:

js = 'document.querySelector(".mbr-image > img").src="whatver you want";'
driver.execute_script(js)
...