提问人:Meowsa 提问时间:3/13/2020 更新时间:3/14/2020 访问量:1167
Webdriver.chrome 无法打开 chrome
Webdriver.chrome not opening chrome
问:
我正在开发一个自动化脚本,我正在尝试在 chrome 中打开一个 url,我已经安装并导入了 selenium 并下载了 chrome 驱动程序并将其移动到 /usr/local/bin。
但是当我尝试运行脚本时,控制台是空白的,然后大约一秒钟后它显示“进程完成,退出代码为 0”,就好像什么都没发生一样。以下是我当前的代码:
from selenium import webdriver
class Script():
def __init__(self):
self.driver = webdriver.Chrome(executable_path=r'/usr/local/bin/chromedriver')
def login(self):
self.driver.get('https://facebook.com')
答:
0赞
Gokul nath
3/13/2020
#1
这里的路径是错误的。它应该如下所示:需要在executable_path中添加.exe扩展名。
另外,请确保您使用的是适用于 Google Chrome 的正确版本的 chrome 驱动程序。webdriver.Chrome(executable_path=r'/usr/local/bin/chromedriver.exe')
评论
0赞
Meowsa
3/13/2020
我之前尝试过,但控制台中发生了相同的输出。我尝试了两个不同版本的 chrome 驱动程序,我使用的是 chrome 版本 80,并尝试了 80 版本和 79,但两者似乎都不起作用。
0赞
Gokul nath
3/13/2020
简单的脚本应该是,由于您使用的是类和函数,因此请确保按预期调用它们。from selenium import webdriver
import time
driver= webdriver.Chrome(executable_path='the path where chrome driver is placed')
driver.get("https://www.facebook.com")
time.sleep(2) #sleep time to see the brower
0赞
Meowsa
3/13/2020
我正在打电话给他们,现在已经尝试了许多不同的方法,但由于某种原因,它们都没有奏效。
0赞
Larry Atherton
3/13/2020
#2
这行得通吗?
from config import keys
from selenium import webdriver
def order():
driver = webdriver.Chrome(executable_path='/usr/local/bin/chromedriver')
driver.get('https://facebook.com')
print("here")
if __name__== '__main__':
order()
退出代码 0 表示运行没有错误。如果发生错误,它将提供非零参数。我会添加一个
from selenium import webdriver
class Script():
def __init__(self):
self.driver = webdriver.Chrome(executable_path='/usr/local/bin/chromedriver')
def login(self):
self.driver.get('https://facebook.com')
print ('Opened facebook')
这应该返回“已打开的 facebook”,然后返回“进程完成,退出代码为 0”。我构建了类似的东西,可以将用户登录到 Facebook。
from selenium import webdriver
from selenium.webdriver.support.ui import WebDriverWait
from selenium.webdriver.common.keys import Keys
class Script():
def __init__(self):
self.driver = webdriver.Chrome(executable_path='/usr/local/bin/chromedriver')
def login(self):
self.driver.get('https://facebook.com')
print ('Opened facebook')
self.driver.implicitly_wait(30)
self.driver.get(k['product_url'])
print ('Opened facebook')
username_box = self.driver.find_element_by_id('email')
username_box.send_keys('EMAIL ADDRESS')
print ('Email Id entered')
password_box = self.driver.find_element_by_id('pass')
password_box.send_keys('password')
print ('Password entered')
login_box = self.driver.find_element_by_id('loginbutton')
login_box.click()
print('Logged In')
评论
0赞
Meowsa
3/13/2020
非常感谢,但是,通过添加 print 语句并运行程序,会发生与以前相同的事情,由于某种原因,控制台中没有显示 print 语句。
0赞
Meowsa
3/13/2020
不幸的是,由于某种原因,这些方法都不起作用,我不确定问题出在哪里。
0赞
Larry Atherton
3/14/2020
我将 (executable_path='/usr/local/bin/chromedriver') 添加到我的答案中......
0赞
undetected Selenium
3/13/2020
#3
您使用的是 linux 系统。你不需要原始的,即 开关。您的有效代码行将是:r
self.driver = webdriver.Chrome(executable_path='/usr/local/bin/chromedriver')
评论