Selenium Python - 获取Web浏览器的当前URL?

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Selenium Python - 获取Web浏览器的当前URL?相关的知识,希望对你有一定的参考价值。

到目前为止我有这个:

from selenium import webdriver
from selenium.webdriver.common.keys import Keys

driver = webdriver.Chrome('C:UsersFanDesktopchromedriver.exe')
url = driver.current_url
print url

它一直说第4行“驱动程序”是无效的语法。我该如何解决这个问题?

还有一种方法可以让所有当前标签打开,而不仅仅是一个吗?

编辑:上面的代码现在有效;但我有另一个问题!

代码现在打开一个新选项卡,由于某种原因,URL栏有“数据”;在其中,它输出数据;作为印刷品。

但我希望它从已经打开的现有Web浏览器中获取现有URL,我该如何解决?

答案

在Python中,您没有指定Java中所需的变量类型,这是导致错误的原因。同样的错误也会发生,因为你的最后一行以String开头。

调用webdriver.Chrome()会返回一个驱动程序对象,因此实际上不需要行webdriver driver = new webdriver()

Python中没有使用new关键字来创建新对象。

试试这个:

from selenium import webdriver

driver = webdriver.Chrome()
url = driver.getCurrentUrl()
另一答案

要从Web驱动程序中提取当前页面的URL,您必须调用current_url属性:

from selenium import webdriver
import time

driver = webdriver.Chrome()

#Opens a known doi url
driver.get("https://doi.org/10.1002/rsa.1006")

#Gives the browser a few seconds to process the redirect
time.sleep(3)

#Retrieves the url after the redirect
#In this case https://onlinelibrary.wiley.com/doi/abs/10.1002/rsa.1006
url = driver.current_url 

以上是关于Selenium Python - 获取Web浏览器的当前URL?的主要内容,如果未能解决你的问题,请参考以下文章

python+selenium Web自动化之获取网页元素的基本方法

python-web-selenium模拟控制浏览器

python Web抓取

selenium-Python2

从Web抓取信息

Python+selenium+eclipse执行web自动化启动浏览器