Как заменить текст кнопки настраиваемым текстом с помощью Selenium Python (MacOS)? - PullRequest
0 голосов
/ 14 января 2020

Я хочу в основном сделать временное редактирование веб-страницы (например, как люди делают это с помощью элемента inspect), но сделать это автоматически, используя селен. Например, это изображение из google.ca:

https://imgur.com/nAVquUF

Я просто хочу изменить текст "Gmail" и "Картинки" на все, что я хочу.

Пока у меня есть только это:

from selenium import webdriver
from selenium.webdriver.common.keys import Keys

browser = webdriver.Chrome('/Users/--------/Downloads/chromedriver')
browser.get("https://google.ca/")
x = browser.find_element_by_id('Gmail')

Есть ли способ сделать это?

Ответы [ 2 ]

1 голос
/ 14 января 2020

Чтобы заменить текст WebElement на веб-странице, например, LINK_TEXT Gmail на Домашняя страница Google на настроенный текст, например Распыление Вы можете использовать следующее решение:

  • Блок кода:

    from selenium import webdriver
    from selenium.webdriver.common.by import By
    from selenium.webdriver.support.ui import WebDriverWait
    from selenium.webdriver.support import expected_conditions as EC
    
    options = webdriver.ChromeOptions() 
    options.add_argument("start-maximized")
    driver = webdriver.Chrome(options=options, executable_path=r'C:\Utility\BrowserDrivers\chromedriver.exe')
    driver.get('https://www.google.ca/')
    element = WebDriverWait(driver, 10).until(EC.element_to_be_clickable((By.LINK_TEXT, "Gmail")))
    driver.execute_script("document.querySelector('div#viewport a').innerText = 'Atomization'")
    
  • Снимок браузера:

change_innerText

0 голосов
/ 14 января 2020

Вы можете сделать что-то вроде:

driver.execute_script("""
  document.querySelector('button').innerText = 'Hi There'
""")
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...