我的javascript代码可以';我无法识别Python中定义的数组元素
因此,我试图通过在Selenium中使用我的javascript代码可以';我无法识别Python中定义的数组元素,javascript,python,selenium,Javascript,Python,Selenium,因此,我试图通过在Selenium中使用driver.execute_脚本(“window.open(“”)) 但是我想打开一个由用户提供的链接 因此,我从数组中获取链接输入,并将其放入javascript代码中,如下所示: driver.execute_script("window.open(data[0]);") selenium.common.exceptions.JavascriptException: Message: javascript error: data
driver.execute_脚本(“window.open(“”))
但是我想打开一个由用户提供的链接
因此,我从数组中获取链接输入,并将其放入javascript代码中,如下所示:
driver.execute_script("window.open(data[0]);")
selenium.common.exceptions.JavascriptException: Message: javascript error: data is not defined
现在它给出了这样一个错误:
driver.execute_script("window.open(data[0]);")
selenium.common.exceptions.JavascriptException: Message: javascript error: data is not defined
如何解决这个问题?谢谢你抽出时间
编辑:我的代码的一部分是这样的:
from selenium import webdriver
import PySimpleGUI as sg
import time
global data
data = []
layouts = [[[sg.Text("Enter the Wordpress New Post link: "), sg.InputText(key=0)]],
[sg.Button('Start The Process'), [sg.Button('Exit')]]]
window = sg.Window("Title", layouts)
def selenium_process():
# Getting the driver path
driver = webdriver.Chrome(r'Driver\path')
driver.get('https://google.com')
driver.execute_script(f"window.open({data[0]});")
time.sleep(10000)
while True:
event, values = window.read()
if event in (sg.WIN_CLOSED, 'Exit'):
break
data.append(values[0])
selenium_process()
你试过字符串插值吗 试试这个:
driver.execute_脚本(f“window.open({data[0]});”)
您的解决方案不起作用,因为数据[0]
是字符串,而不是变量。相反,您需要将数据[0]替换为其值(必须是JS可以理解的值)
请阅读Javascript窗口的说明。打开:
如果您只需要访问URL:
driver.get(数据[0])
现在我面临这个错误:selenium.common.exceptions.JavascriptException:Message:javascript error:missing)在参数列表之后
@Wordpress4Love你能详细说明应该包含哪些数据吗?我将我的代码添加到线程中。我已经测试了你的代码,但我真的不明白它应该做什么?因为如果你只想加载一个网页,为什么不使用webdriver.get(url)呢?(我已经更新了上面的答案)我想用一个循环同时打开多个窗口。例如,用户将选择6篇文章在Wordpress上发表,机器人将打开6个窗口,在每个窗口中,它将转到新的文章页面并撰写文章。