操作系统:- 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 组合,则需要遵循以下兼容性图表:
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/