- android - 多次调用 OnPrimaryClipChangedListener
- android - 无法更新 RecyclerView 中的 TextView 字段
- android.database.CursorIndexOutOfBoundsException : Index 0 requested, 光标大小为 0
- android - 使用 AppCompat 时,我们是否需要明确指定其 UI 组件(Spinner、EditText)颜色
我正在使用 Selenium 编写一些代码,有一次我向不同的网站发出了 7 个请求。对于第一个,这很好用。但是,对于其他人,我收到 session ID 错误。我认为我的浏览器配置正确,因为我确实从第一个网站获得了结果。我试图在请求之间放置一个 WebDriverWait,但无济于事。我认为这些网站可能会阻止我的请求。有谁知道如何解决这个问题?
如果这是愚蠢的事情或者我做错了什么,我很抱歉,我很新^^
提前致谢!
Traceback (most recent call last):
File "/home/cena/PycharmProjects/Frikandelbroodje/main.py", line 56, in <module>
dirk_price = get_price(dirk_url, dirk_classname)
File "/home/cena/PycharmProjects/Frikandelbroodje/main.py", line 44, in get_price
browser.get(url)
File "/usr/local/lib/python3.7/dist-packages/selenium/webdriver/remote/webdriver.py", line 333, in get
self.execute(Command.GET, {'url': url})
File "/usr/local/lib/python3.7/dist-packages/selenium/webdriver/remote/webdriver.py", line 321, in execute
self.error_handler.check_response(response)
File "/usr/local/lib/python3.7/dist-packages/selenium/webdriver/remote/errorhandler.py", line 242, in check_response
raise exception_class(message, screen, stacktrace)
selenium.common.exceptions.WebDriverException: Message: invalid session id
(Driver info: chromedriver=74.0.3729.6 (255758eccf3d244491b8a1317aa76e1ce10d57e9-refs/branch-heads/3729@{#29}),platform=Linux 4.15.0-50-generic x86_64)
最佳答案
无效 session ID 错误是 WebDriver error当服务器无法识别唯一 session 标识符时发生。如果 session 已被删除或者 session ID 无效,就会发生这种情况。
WebDriver session可以通过以下方式之一删除:
Explicit session deletion : 显式调用 quit()
方法时显式删除 WebDriver session ,如下所示:
代码块:
from selenium import webdriver
from selenium.common.exceptions import InvalidSessionIdException
driver = webdriver.Chrome(executable_path=r'C:\Utility\BrowserDrivers\chromedriver.exe')
print("Current session is {}".format(driver.session_id))
driver.quit()
try:
driver.get("https://www.google.com/")
except Exception as e:
print(e.message)
控制台输出:
Current session is a9272550-c4e5-450f-883d-553d337eed48
No active session with ID a9272550-c4e5-450f-883d-553d337eed48
Implicit session deletion : 当您关闭调用 close()
方法的最后一个窗口或选项卡时,WebDriver session 将被隐式删除,如下所示:
代码块:
driver = webdriver.Chrome(executable_path=r'C:\Utility\BrowserDrivers\chromedriver.exe')
print("Current session is {}".format(driver.session_id))
# closes current window/tab
driver.close()
try:
driver.get("https://www.google.com/")
except Exception as e:
print(e.message)
控制台输出:
Current session is a9272550-c4e5-450f-883d-553d337eed48
No active session with ID a9272550-c4e5-450f-883d-553d337eed48
第一个请求工作正常,但对于其他请求,您会收到一个 session ID 错误,很可能是检测到 WebDriver 控制的 Web 浏览器从而阻止下一个请求。
WebDriver 控制Web 浏览器 被检测到并同时被阻止的原因有多种。您可以在以下位置找到一些详细的讨论:
关于python - selenium.common.exceptions.WebDriverException : Message: invalid session id using Selenium with ChromeDriver and Chrome through Python,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56483403/
我是自动化测试的新手,虽然我的 Selenium 测试在 Chrome 和 Firefox 上运行,但它们不在 IE11 上运行。我做了下面详述的所有检查,但我一直遇到这个错误: org.openqa
我正在尝试将 PhantomJSDriver 与 Selenium 一起使用。 这是我的测试代码: public static void main(String[] args) { /
所以我试图从 Firefox 浏览器中截取屏幕截图,但出现以下异常: org.openqa.selenium.WebDriverException: [Exception... "Data conve
我正在尝试使用 Selenium/BeautifulSoup 对网页进行单元测试。尽管我无法使用 Google,但我收到了一个错误。 selenium.common.exceptions.WebDri
当调用鼠标悬停关键字时,出现以下错误: WebDriverException: Message :POST /session/bcb99bc5-1b47-4438-b1b7-471785ea34c8/
当我调用 chromedriver 时,捕获了 WebDriverException: Exception in thread "main" org.openqa.selenium.WebDriver
我在 linux 服务器上有一个 chrome selenium 驱动程序,它由 cron 每小时执行一次。我遇到的错误只发生在后续运行中,也就是说,在第一次运行期间它工作正常,但在第二次或任何其他后
我正在使用 webdriver 单击 iframe 中表单上的提交按钮。基本上: self.driver.find_element_by_css_selector("[name~='field_1']
我有一个输入元素,单击它会打开一个新的弹出窗口(用户可以在其中为该字段选择一个值)。 标记: c#: var driver = new PhantomJSDriver(@"C:\Phan
我的一组测试似乎只有在远程运行时和尝试与特定元素交互时才会出现问题。我正在通过 VSTS 构建和运行它。 错误: OpenQA.Selenium.WebDriverException: A excep
我正在关注 Django TDD 教程: http://www.marinamele.com/taskbuster-django-tutorial/taskbuster-working-environ
我在 UI 测试期间遇到以下错误。 org.openqa.selenium.WebDriverException: Element not found or not visible for xpath
我正在编写一个自动化测试,如果出现错误,我想直接在 GitHub 的存储库中报告。在我的程序中失败的步骤是来自 GitHub Issue Tracker 的 Submit new issue 按钮。
我正在尝试将网络抓取工具合并到我当前的工作流程中。我对 Python 和网络抓取非常陌生,在开发当前的解决方案之前,我正在解决一个示例问题。 这就是我认为下面的代码的含义。 我们正在定义一个从当前页面
多年来我一直在使用 webdriver.Firefox(),今天我开始了另一个项目并且 browser = webdriver.Firefox() 正在返回 WebDriverException: M
尝试通过 selenium 上传文件时出现以下错误。 org.openqa.selenium.WebDriverException: File not found: D:\Projekte\Ticke
我正面临 python selenium 的问题我在下面输入了代码,几分钟前它运行良好,但现在它不起作用说 chrome not reachable请帮忙! from selenium import
我的 Selenium 网格显示错误: org.openqa.selenium.WebDriverException:驱动程序可执行文件的路径必须由 webdriver.chrome.driver 系
我正在使用非常复杂的设置来测试各种非公开网页。我使用 jenkins 在 docker 图像中运行 python-selenium 测试。这样,我就完全独立于 jenkins 环境,可以创建自己的环境
我正在使用 selenium 和 pytest 设置 python 自动化测试,我的目标是在 Circleci 2.0 上运行它。 本地测试正常运行,但是CircleCi服务器出现这个错误,不知道为什
我是一名优秀的程序员,十分优秀!