python - Browser.get() 方法无法获取 URL。此代码是 Python 代码的一部分

标签 python linux selenium selenium-webdriver geckodriver

操作系统:- Kali Linux 2019.1 火狐 60.6.1 壁虎驱动程序:- 0.18.0 Selenium 3.5.2

代码在 browser.get 行之后卡住了。当我检查 geckodriver 日志时..它显示 > ddons.productaddons WARN Failed downloading via XHR, status: 0, reason: error (Don't Know if it is relevant)

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

# ------------[使用 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')

最佳答案

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

  • 火狐 v60.6.1
  • 壁虎驱动程序 v0.18.0
  • Selenium v3.5.2

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

supported_platforms_geckodriver_24

You can find a detailed discussion in Which Firefox browser versions supported for given Geckodriver version?

关于python - Browser.get() 方法无法获取 URL。此代码是 Python 代码的一部分,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55572343/

相关文章:

linux - "Recursive hexdump"来自命令行,输入和输出同名

linux - 生成要在不同计算机上使用的 SSH key

java - 如何使用 Selenium ChromeDriver 从 span 类获取文本

python-3.x - 如何在 selenium python 中按回车键?

python - 二进制搜索和外部函数 'return'错误

python - SWIG C++/Python:如何处理抽象类的shared_ptr的std::map

python - 如何将具有相同索引的两个单独列表的组合元素插入到另一个列表?

php - 如何从 Laravel 获取 CSRF token 并将其传递到 python 脚本中

linux - 什么机制允许 linux less 命令读取加密的 gpg 文件

python - 进入新页面时, Selenium 会丢失 session