【问题标题】:Browser.get() method can't get the URL. This code is a part of a Python codeBrowser.get() 方法无法获取 URL。此代码是 Python 代码的一部分
【发布时间】:2019-08-29 12:55:57
【问题描述】:

操作系统:- Kali linux 2019.1 火狐 60.6.1 壁虎司机:- 0.18.0 硒 3.5.2

代码在 browser.get 行之后卡住了。当我检查 geckodriver 日志时..它显示 > ddons.productaddons WARN 通过 XHR 下载失败,状态:0,原因:错误(不知道是否相关)

我尝试将 URL 的 " 更改为 ',尝试将 browser.get 更改为 browser.navigate.to 但没有成功。该 URL 工作正常。我可以在 firefox 浏览器中打开它。它也不需要太多打开的时间。所以,似乎不是 wait() 问题。

#------------[STARTS A WEBSERVER + FORWARDS PORT WITH NGROK]-------------#

os.system('xterm -e "cd ./WEBSERVER/ && php -S 127.0.0.1:80" &')
os.system("./ngrok http 80 > /dev/null &")




time.sleep(3)
display = Display(visible=0, size=(800, 600))
display.start()
browser = webdriver.Firefox(firefox_binary=binary,executable_path='base/geckodriver')
browser.get("http://localhost:4040/status")
time.sleep(5)
url_f=str(browser.find_element_by_css_selector("li.list-unstyled:nth-child(1) > div:nth-child(2) > table:nth-child(2) > tbody:nth-child(1) > tr:nth-child(1) > td:nth-child(2)").text)
browser.close()
show_url = str(url_f)


# `GENERATES EMAIL TEMPLATE


emaildata = str(EMAIL1_TW)
emaildata = emaildata.replace('_EF', str(UNAME))
emaildata = emaildata.replace('G_URL', str(n_url))
emaildata = emaildata.replace('Windows 7', str(Email_OS))
emaildata = emaildata.replace('Antartica', str(Email_from))


# `DECIDES THE EMAIL ADDRESS

from_email = str(random.choice(['JohnSpencer@Kolear.com','no-reply@kolear.com']))



##################################
#      SENDS  EMAIL       #
##################################


subprocess.call(['sendemail', '-f', from_email,'-t', str(Email), '-u', 'Notice for you', '-m', emaildata, '-s', smtps+":"+port, '-o', 'tls=no','-xu', username, '-xp', password])
os.system('reset')

【问题讨论】:

  • 使用错误堆栈跟踪更新问题
  • 如果你导航到一个 URL,你为什么使用get?它应该是go(url)
  • 此代码在 python 代码中。在这种情况下,我不知道如何运行堆栈跟踪。
  • 请阅读stackoverflow.com/help/how-to-ask,了解如何提问。这个信息缺失太多,问题有点模糊,格式需要修改
  • @AlexanderFalk 添加了操作系统版本、firefox 版本、selenium 版本、geckodriver 版本...如果您指的是堆栈跟踪..我提到..这是在 python 代码中..我不'不知道在这种情况下如何运行堆栈。

标签: python linux selenium selenium-webdriver geckodriver


【解决方案1】:

错误跟踪日志可以帮助我们以更好的方式调试问题。但是,您的主要问题是您使用的二进制文件版本之间的不兼容性

  • 火狐v60.6.1
  • Geckodriver v0.18.0
  • 硒 v3.5.2

如果您使用的是GeckoDriver-Selenium-Firefox组合,则需要遵循以下兼容性图表:

您可以在Which Firefox browser versions supported for given Geckodriver version?找到详细讨论

【讨论】:

  • 所以,Gecko 是 0.18.0,它与 selenium 3.5(>3.4) 兼容,它与 firefox 60.6.1(52-62) 兼容...??
猜你喜欢
  • 2021-07-10
  • 1970-01-01
  • 1970-01-01
  • 2022-01-16
  • 1970-01-01
  • 1970-01-01
  • 2011-04-13
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多