gpt4 book ai didi

javascript - 在 Mac 上的 Excel 上从 VBA 调用 Javascript

转载 作者:行者123 更新时间:2023-12-03 01:01:54 25 4
gpt4 key购买 nike

我想在 Excel 上创建一个 VBA 宏,只需单击按钮即可打开浏览器(chrome 或 safari)登录网站,提取所需的浮点值,然后使用该值填充工作表中的给定单元格。

网上有关于如何使用 Internet Explorer 实现此目的的示例,但这在 Mac 上不可用。我也看过使用 Selenium 的指南,但这似乎不适用于 Mac。

JavaScript 本身是这样的(在某个网站打开浏览器后):

document.getElementById("username").value = "username"
document.getElementById("password").value = "password"
document.getElementsByClassName("button")[0].click()
value = parseFloat(document.getElementsByClassName("value")[1].innerText.slice(1))

最佳答案

我通过使用 python-selenium 的组合解决了这个问题和 xlwings 。我的 VBA 调用 RunPython ("import python_script; python_script.fun()")

python_script.py

import xlwings as xw
from selenium import webdriver

def fun():
# Creates a reference to the calling Excel file
wb = xw.Book.caller()

# opens chrome
chrome_driver_path = '/usr/local/bin/chromedriver'
driver = webdriver.Chrome(chrome_driver_path)

# open website and login
driver.get('url')
driver.find_element_by_id('username').send_keys('username')
driver.find_element_by_id('password').send_keys('password')
driver.find_element_by_name('buttonId').click()

# finds member price sum
table_body = driver.find_element_by_xpath("//*[@class='classname']").text
price = float(table_body.split()[2][1:])

# closes chrome
driver.quit()

# changes cell value
sheet = wb.sheets['sheetname']
sheet.range('cell').value = price

关于javascript - 在 Mac 上的 Excel 上从 VBA 调用 Javascript,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52591340/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com