首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >将不会运行,即使PATHed正确运行,脚本也按指示编写

将不会运行,即使PATHed正确运行,脚本也按指示编写
EN

Stack Overflow用户
提问于 2017-01-09 20:02:42
回答 1查看 228关注 0票数 0

我正在尝试学习Python的Webdriver,使用Python的基本理解,以及对Selenium和JAVA的更广泛的理解。我在跟踪找到这里的向导。我的代码:

代码语言:javascript
复制
import unittest
from selenium import webdriver
from selenium.webdriver.common.keys import Keys

driver = webdriver.Firefox()
driver.get("http://www.google.com")
assert "Google" in driver.title
sb = driver.find_element_by_name(lst-ib)
sb.clear()
sb.send_keys("Youtube")
sb.send_keys(Keys.RETURN)
assert "No results found." not in driver.page_source
driver.close()

现在,在PyCharm中运行这个程序将返回:

代码语言:javascript
复制
C:\Users\mbrenn002c\AppData\Local\Programs\Python\Python35-32\python.exe C:/Users/mbrenn002c/PycharmProjects/PyDriver/Webdriver.py
Traceback (most recent call last):
  File "C:/Users/mbrenn002c/PycharmProjects/PyDriver/Webdriver.py", line 5, in <module>
    driver = webdriver.Firefox()
  File "C:\Users\mbrenn002c\AppData\Local\Programs\Python\Python35-32\lib\site-packages\selenium\webdriver\firefox\webdriver.py", line 145, in __init__
    keep_alive=True)
  File "C:\Users\mbrenn002c\AppData\Local\Programs\Python\Python35-32\lib\site-packages\selenium\webdriver\remote\webdriver.py", line 92, in __init__
    self.start_session(desired_capabilities, browser_profile)
  File "C:\Users\mbrenn002c\AppData\Local\Programs\Python\Python35-32\lib\site-packages\selenium\webdriver\remote\webdriver.py", line 179, in start_session
response = self.execute(Command.NEW_SESSION, capabilities)
  File "C:\Users\mbrenn002c\AppData\Local\Programs\Python\Python35-32\lib\site-packages\selenium\webdriver\remote\webdriver.py", line 236, in execute
self.error_handler.check_response(response)
  File "C:\Users\mbrenn002c\AppData\Local\Programs\Python\Python35-32\lib\site-packages\selenium\webdriver\remote\errorhandler.py", line 192, in check_response
    raise exception_class(message, screen, stacktrace)
selenium.common.exceptions.WebDriverException: Message: Expected browser binary location, but unable to find binary in default location, no 'moz:firefoxOptions.binary' capability provided, and no binary flag set on the command line


Process finished with exit code 1

我的pip包是: selenium;beautifulsoup4。

我的路看起来是这样的:

代码语言:javascript
复制
%USERPROFILE%\AppData\Local\Mirosoft\WindowsApps;C:\Users\myuser\AppData\Programs\Python;C:\Pythone34;C:\Users\myuser\Desktop\File transfer\Eclipse Items\geckodrver.exe

我的主要问题是:我做错了什么?据我所知,我已经正确地跟踪了所有的事情,这段代码应该打开geckodriver并按列出的方式工作。对于运行webdriver独立服务器,它甚至不会运行。

我试着在我的安卓手机的QPython客户端上使用相同的pip和代码运行它,它在控制台中返回了一些回调,最后如下所示:

代码语言:javascript
复制
 Exception AttributeError: "'Service' object has no attribute 'log_file'" in <bound method Service.__del__ of <seleniumwebdriver.firefox.service.Service object at 0xf5e709f0>> ignored

值得注意的是,我的手机没有根,我真正做的就是保存这个脚本,并安装Selenium和beautifulsoup4。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2017-01-09 20:27:22

selenium.common.exceptions.WebDriverException:消息:预期浏览器二进制位置,但无法在默认位置找到二进制文件,没有提供“moz:firefoxOptions.binary”功能,命令行上也没有设置二进制标志

唯一的例外是,Firefox安装了与Selenium不同的目录。试图访问默认路径,但找不到。您需要描述firefox在代码中的具体安装位置。

使用下面的片段;

代码语言:javascript
复制
import unittest
from selenium import webdriver
from selenium.webdriver.common.keys import Keys
from selenium.webdriver.firefox.firefox_binary import FirefoxBinary

binary = FirefoxBinary('path/to/installed firefox binary')
driver = webdriver.Firefox(firefox_binary=binary)

driver.get("http://www.google.com")
assert "Google" in driver.title
sb = driver.find_element_by_name(lst-ib)
sb.clear()
sb.send_keys("Youtube")
sb.send_keys(Keys.RETURN)
assert "No results found." not in driver.page_source
driver.close()
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/41555978

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档