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

问题描述 投票:1回答:2

到目前为止我有这个:

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

driver = webdriver.Chrome('C:\Users\Fan\Desktop\chromedriver.exe')
url = driver.current_url
print url

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

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

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

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

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

python selenium browser
2个回答
3
投票

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

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

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

试试这个:

from selenium import webdriver

driver = webdriver.Chrome()
url = driver.getCurrentUrl()

0
投票

要从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 
© www.soinside.com 2019 - 2024. All rights reserved.