Webdriver.chrome 无法打开 chrome

Webdriver.chrome not opening chrome

提问人:Meowsa 提问时间:3/13/2020 更新时间:3/14/2020 访问量:1167

问:

我正在开发一个自动化脚本,我正在尝试在 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')
python selenium selenium-webdriver chrome-web-driver linux

评论


答:

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 webdriverimport timedriver= 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

您使用的是 系统。你不需要原始的,即 开关。您的有效代码行将是:r

self.driver = webdriver.Chrome(executable_path='/usr/local/bin/chromedriver')