当前位置: 首页 > 知识库问答 >
问题:

Python硒网络驱动程序Chrome - Chrome由自动化软件控制

井旺
2023-03-14

我正在使用selenium webdriver并创建一个chrome驱动程序实例。当我尝试向下滚动和向上滚动时,我得到以下错误信息。此外,我可以看到一个错误信息“Chrome正在由一个自动化软件控制”。看到这个错误很烦人,虽然我无法在Chrome浏览器中更改任何设置来实现自动化。

from selenium import webdriver
from selenium.webdriver.common.keys import Keys
from selenium.webdriver.support import expected_conditions as EC
from selenium.webdriver.common.by import By
from selenium.webdriver.support.ui import WebDriverWait as wait
from selenium.common.exceptions import TimeoutException

from log_util.logger import log as Log

import time

log = Log()


class Wiki(object):
    def __init__(self):
        self.link = 'http://wikipedia.org'
        self.path = '/Users/swadhikar_c/Downloads/chromedriver'
        self.driver = webdriver.Chrome(executable_path=self.path)

    def open_wiki(self):
        driver = self.driver
        driver.get(self.link)
        return self.wait_for_page_load()

    def wait_for_page_load(self, timeout=200):
        is_element_located = EC.presence_of_element_located((By.CLASS_NAME, 'central-featured-logo'))

        try:
            wait(self.driver, timeout=int(timeout)).until(is_element_located)
            print("Page loaded successfully")
            time.sleep(5)
        except TimeoutException:
            print("Operation timed out")
            raise

        return 1

    def scroll_down_up(self):
        driver = self.driver

        element = driver.find_element(By.TAG_NAME, 'html')
        element.send_keys(Keys.END)

        print("Scrolled down to the end!")
        time.sleep(5)

        element.send_keys(Keys.HOME)

        print("Scrolled up to the top!")
        time.sleep(5)

    def close_driver(self):
        self.driver.quit()


if __name__ == '__main__':
    wiki = Wiki()

    try:
        if not wiki.open_wiki():
            print("Operation failed")

        wiki.scroll_down_up()

    finally:
        wiki.close_driver()

错误信息:

/System/Library/Frameworks/python . framework/Versions/2.7/bin/python 2.7/Users/swadhikar _ c/py charm _ projects/py selenium/test/selenium _ test . py页面加载成功Traceback(最近一次调用最后一次):文件“/Users/swadhikar _ c/py charm _ projects/py selenium/py selenium/test/selenium _ test . py”,第64行,在wiki.scroll_down_up()文件“/Users/swadhikar _ c/py charm _ projects/py selenium/pyEND)文件“/Library/Python/2.7/site-packages/selenium/web driver/remote/webelement . py”,第349行,在send _ keys ' value ':keys _ to _ typing(value)})文件“/Library/Python/2.7/site-packages/selenium/web driver/remote/webelement . py”,第493行,在_execute返回self。_parent.execute(command,params)File "/Library/Python/2.7/site-packages/selenium/web Driver/remote/web Driver . py ",第249行,在execute self . error _ handler . check _ response(response)File "/Library/Python/2.7/site-packages/selenium/web Driver/remote/error handler . py ",第193行,在check _ response raise exception _ class(Message,screen,stack trace)selenium . common . exceptions . web Driver exception:Message:

Process finished with exit code 1

共有1个答案

傅峻
2023-03-14

我做了一些挖掘,发现它解决了。刚刚修改了初始化函数,如下所示。

from selenium.webdriver.chrome.options import Options

def __init__(self):
    self._link = 'https://in.norton.com/'
    _path = '/Users/swadhikar_c/Downloads/chromedriver'
    _chrome_options = Options()
    _chrome_options.add_argument('disable-infobars')
    self.driver = webdriver.Chrome(executable_path=_path, chrome_options=_chrome_options)
 类似资料:
  • 当我完成自动化后,Chrome Web驱动程序仍在后台运行,是否可以自动关闭它,而无需通过任务管理器执行?

  • 我正在用Serenity BDD(Selenium)在Chrome中运行自动测试。 我不得不下载一个新的ChromeDriver,因为我的测试无法运行->测试将打开ChromeDriver,但不能“以用户身份浏览”。当我在谷歌上搜索这个问题时,他们说我必须更新ChromeDriver。 我知道有这个(同一个问题的链接),但有太多的答案是行不通的。 有人知道怎么移除吗?

  • 我有这个文件test.py: 我想使用此python代码从页面获取页面源。我使用的是chrome驱动程序selenium和python。但是当我启动这个脚本时,我遇到了这个错误: 我在互联网上尝试了几乎所有的解决方案,但每次我遇到其他错误时,有人知道我在这种情况下应该怎么做吗?有人建议我如何解决这个问题吗?

  • 我试图通过TestContainer运行Selenium测试。 这是由于 但是,如果我直接从一个测试调用它,它就会通过并且找到方法,例如。 但是,如果通过类调用此方法,则会抛出 这是我的测试方法: } 此测试从 其中抛出 这是一个演示项目,我已设置尝试和重新创建的问题,这里是我的整个文件:

  • 问题内容: 我正在尝试运行一个ruby文件,该文件将使用seleniumwebdriver启动chrome驱动程序。我有selenium独立服务器2.35.0。和chromedriver可执行文件已安装。我正在通过运行服务器来启动 两个会话正在启动,chrome驱动程序无法启动。 这是在我使用以下文件运行文件之后 我对此并不陌生,无法找出问题所在。而且,我也试图让它无头运行,所以我正在运行Xvfb

  • 我试图运行一个ruby文件,这将启动chrome驱动程序使用selenium WebDriver。我有selenium独立服务器2.35.0。和chromedriver可执行文件安装。我通过运行来启动服务器, 这是在我使用 我对此很陌生,不知道哪里出了问题。我也试图无头运行它,所以我有Xvfb运行。有人能帮我指出我犯的错误并启动chromedriver吗? 更新: 谁能帮我弄清楚出了什么问题吗?