【问题标题】:How to replace a button text with customized text using Selenium Python (MacOS)?如何使用 Selenium Python (MacOS) 用自定义文本替换按钮文本?
【发布时间】:2020-01-13 23:18:08
【问题描述】:

我想基本上对网页进行临时编辑(例如人们如何使用检查元素进行编辑),但使用 selenium 自动完成。例如,这是来自 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')

有什么办法可以做到吗?

【问题讨论】:

  • 但是为什么呢?
  • @SuperStew 我只想要它,这样当浏览器运行时,它就会包含我的自定义文本。
  • 是为了什么目的?
  • 不幸的是,我认为你不能用 selenium 设置属性。
  • @SuperStew 你知道任何支持这个的库吗?

标签: javascript python selenium selenium-webdriver webdriver


【解决方案1】:

在网页中替换 WebElement 的文本,例如Google Home Page 上的 LINK_TEXT Gmail 带有自定义文本,例如雾化可以使用以下解决方案:

  • 代码块:

    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'")
    
  • 浏览器快照:

【讨论】:

  • 所以这确实有效,但是,它不会改变 gmail。它改变了浏览器的左侧,它在商店旁边显示“关于”。不过,我只是将其视为答案。谢谢!
【解决方案2】:

你可以这样做:

driver.execute_script("""
  document.querySelector('button').innerText = 'Hi There'
""")

【讨论】:

  • 似乎不起作用。它甚至没有给出错误。 browser = webdriver.Chrome('/Users/-------/Downloads/chromedriver') browser.get("https://google.ca/") browser.execute_script(""" document.querySelector('button').innerText = 'Hi There' """)
猜你喜欢
  • 1970-01-01
  • 2019-11-26
  • 2011-07-14
  • 2016-05-29
  • 1970-01-01
  • 1970-01-01
  • 2011-05-27
  • 2023-03-16
  • 1970-01-01
相关资源
最近更新 更多