python 中的 Selenium 打不开 chrome url

问题描述 投票:0回答:1

当浏览器打开时,它只是保持原状,不进行任何操作。

The driver.get(url)
不发出请求,浏览器中没有任何反应。

from selenium import webdriver
from selenium.webdriver.chrome.options import Options
from selenium.webdriver.chrome.service import Service as ChromeService
import time

chrome_executable_path = r"C:\Program Files\Google\Chrome\Application\chrome.exe"

# path to the chrome profile to get the logged google acc
chrome_profile_dir = r"C:\Users\myuser\AppData\Local\Google\Chrome\User Data\Profile 3"

# use the chrome profile
chrome_options = Options()
chrome_options.add_argument(f"user-data-dir={chrome_profile_dir}")

service = ChromeService(executable_path=chrome_executable_path)

driver = webdriver.Chrome(service=service, options=chrome_options)

# this doesn't work, but it's not related to the url/nothing after this
url = "https://docs.google.com/forms/d/e/myformid/viewform?usp=pp_url&entry.1824=abc&entry.20988=def&entry.1589=123"
driver.get(url)

time.sleep(10)

submit_button = driver.findElement(By.xpath("//span[text()='Enviar']"))
submit_button.click()

# wait for form submission
time.sleep(10)

driver.quit()

我相信这与 chrome 启动器有关。我必须使用完整的 chrome 实例,因为我需要共享 google 会话才能使用我的 google 帐户发送 google 表单。

我正在尝试提交一份预先填写的谷歌表单。我不知道如何让当前会话向 /formresponse 发出发布请求,所以我想我会直接使用已经登录的实例。

python selenium-webdriver google-forms
1个回答
0
投票

您的问题源于需要将ChromeDriver的路径指定为executable_path而不是Chrome的路径。下载ChromeDriver并将该文件的路径提供给executable_path。在您的代码中,您应该使用ChromeDriver的路径而不是chrome_executable_path。另外使用find_element而不是findElement.通过这些更正,您的浏览器将打开所需的 URL 并执行操作

© www.soinside.com 2019 - 2024. All rights reserved.