python - Selenium webdriver 无需制作 pc 服务器

标签 python selenium selenium-webdriver server webdriver

我已阅读以下关于此问题的评论: What are the differences between 'Selenium-server-standalone.jar' and 'Selenium Client & WebDriver'?

请问:webdriver可以不用server单独运行吗? 我只使用“pip install selenium”安装 selenium,并从 chrome 网站下载了 chrome webdriver。

如果我运行这样的代码:

from selenium import webdriver
from selenium.webdriver.common.keys import Keys

driver = webdriver.Firefox()
driver.get("http://www.python.org")
assert "Python" in driver.title
elem = driver.find_element_by_name("q")
elem.clear()
elem.send_keys("pycon")
elem.send_keys(Keys.RETURN)

然后我工作场所网络上的电脑将用作服务器?或者我的电脑将正常工作,就像我只是运行一个没有任何模块的 python 一样:

print("hello")

我担心在我的工作场所制作我的电脑服务器会给我的同事带来一些问题。我只是想让一些任务和流程自动化,我有很多来自网站的复制粘贴任务,可以在公司内部访问,所以这个网站不能被公众访问。我不是程序员(但有一些 python 方面的经验),所以我没有学习网络,只是一个想使任务更简单/更快的工程师。

最佳答案

根据 How Does WebDriver ‘Drive’ the Browser Selenium-WebDriver 使用每个浏览器对自动化的原生支持直接调用浏览器。这些直接调用及其支持的功能取决于您使用的浏览器。

WebDriver 由三个独立的部分组成。

  • 首先是浏览器本身(例如Firefox/Chrome)。
  • 接下来,Selenium 项目(即驱动程序)提供的语言绑定(bind)
  • GeckoDriverChromeDriver 存储库下载的可执行文件,它充当浏览器客户端驱动程序之间的桥梁>。此可执行文件称为 WebDriver,为简单起见,我们通常将其称为 Server

因此,要执行您的测试,您需要所有这三个部分。

  • 大多数情况下,您会在本地系统中安装 FirefoxChrome 浏览器。
  • 使用 cmd.exe 程序启动命令提示符并运行 pip 命令,如下所示安装 selenium。

    pip install selenium
    
  • 您可以在 Python : no module named selenium 中找到详细的讨论。

  • GeckoDriverChromeDriver可以从相应的位置下载。
  • 现在,您可以执行如下脚本:

    from selenium import webdriver
    from selenium.webdriver.common.keys import Keys
    
    driver = webdriver.Firefox(executable_path=r'C:\path\to\geckodriver.exe')
    driver.get("http://www.python.org")
    assert "Python" in driver.title
    elem = driver.find_element_by_name("q")
    elem.clear()
    elem.send_keys("pycon")
    elem.send_keys(Keys.RETURN)
    

关于python - Selenium webdriver 无需制作 pc 服务器,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53473750/

相关文章:

python - Eve:抑制响应中的验证错误详细信息

java - 各种 Selenium 等待的差异

python - Webdriver 测试 - 将事件/通知推送到测试

angularjs - 在 Protractor 测试中从 localStorage 中删除项目

java - 用于 Selenium WebDriver 的 PhantomJS 2.5.0-beta 在 Linux 中不工作

c# - 使用 Selenium WebDriver 查找任何给定元素的下一个兄弟

python - 如何使用 pandas 中 apply() 函数的返回值设置类别?

python - 使用 IAM 角色凭证通过 Python 卸载到 S3

python - 在 python 中制作 UDP 套接字时使用什么主机?

python - 如何使用 BeautifulSoup 从网站获取 href 链接