无法完成python设置-子文件导致问题

时间:2019-07-16 23:14:13

标签: python python-3.x selenium selenium-webdriver subprocess

首先,我想说我的python编程水平是绝对的初学者,所以请耐心等待!

我已经安装了Python 3.7.4,以及一些软件包,例如numpy,xlwings和(最重要的)硒。 我已将此文件下载到我的64位Windows 10笔记本电脑上,并按照advice of the Python forum解决了Windows特有的问题,但是当我尝试运行{{ 3}}基本上会打开一个浏览器(该示例打开了firefox,我使用的是Chrome-它们都有同样的问题!),导航至Facebook并登录。

我的代码是:

from selenium import webdriver
import time

username = 'fb_email@email.com'
password = 'fb_password'

url = 'https://www.facebook.com/'

driver = webdriver.Chrome(executable_path=r"C:\\Python37\\Lib\\site-packages\\selenium\\webdriver\\chrome\\webdriver.py")

driver.get(url)

driver.find_element_by_id('email').send_keys(username)
driver.find_element_by_id('pass').send_keys(password)

time.sleep(2)

driver.find_element_by_id('loginbutton').click()

运行此代码时,我收到以下错误消息:

  

回溯(最近通话最近):
  文件   “ C:/Python37/Codes/Test.py”,第9行       驱动程序= webdriver.Chrome(r“ C:\ Python37 \ Lib \ site-packages \ selenium \ webdriver \ chrome \ webdriver.py”)   文件   “ C:\ Python37 \ lib \ site-packages \ selenium \ webdriver \ chrome \ webdriver.py”,   第73行,初始化       self.service.start()文件“ C:\ Python37 \ lib \ site-packages \ selenium \ webdriver \ common \ service.py”,   第76行,开始时       stdin = PIPE)文件“ C:\ Python37 \ lib \ subprocess.py”,行775,位于 init 中       restore_signals,start_new_session)文件“ C:\ Python37 \ lib \ subprocess.py”,行1178,在_execute_child中       startupinfo)OSError:[WinError 193]%1不是有效的Win32应用程序

您会注意到我对原始代码所做的另一处更改是,我包括完整的文件路径(明确引用Webdrive.py文件)来处理“权限”错误。

基本上,我只想进入可以运行此代码的阶段,我可以知道我可以在python上运行selenium并在以后处理python代码内的嵌套循环,因此,任何帮助/建议将不胜感激。

1 个答案:

答案 0 :(得分:1)

根本原因: 您没有在第9行中提供到executable_path的正确路径。 executable_path 应该指向 chromedriver.exe 路径,而不是p.py路径

如何解决:

使用正确的chromedriver.exe路径更新第9行。

# make sure you add `.exe` file name too at the end like `chromedriver.exe`.
driver = webdriver.Chrome(executable_path=r"pathToChromedriver")