我试图在Selenium中进行一系列导航后获取当前URL。我知道ruby有一个名为getLocation的命令,但我找不到Python的语法。
mmvthczy1#
在Python 2中使用current_url元素:
print browser.current_url
对于Python 3和更高版本的selenium:
print(driver.current_url)
juzqafwq2#
根据这个文档(一个充满好东西的地方:):
driver.current_url
或者,参见官方文档:https://www.selenium.dev/documentation/en/webdriver/browser_manipulation/#get-current-url
holgip5t3#
Selenium2Library有get_location():
import Selenium2Library s = Selenium2Library.Selenium2Library() url = s.get_location()
cyvaqqii4#
另一种方法是检查chrome中的url栏以找到元素的id,让您的WebDriver单击该元素,然后使用selenium中的keys common函数发送您用于复制和粘贴的键,然后将其打印出来或将其存储为变量等。
e4yzc0pl5#
有多种方法可以通过driver获取当前URL:
driver
driver.current_url driver.execute_script("return document.URL;") driver.execute_script("return document.location.href;") driver.execute_script("return window.location.href;")
(Note不同的JS变量之间存在差异,如下所示:https://stackoverflow.com/a/5388084/7058266)在某些情况下,您可能不需要完整的URL,而需要origin:
origin
driver.execute_script("return window.location.origin;")
例如,在stackoverflow页面上(比如这个),原点是https://stackoverflow.com。(当您不需要完整的URL时很有用。还有一些流行的Python框架,比如SeleniumBase,内置了返回URL(或源)的方法:
https://stackoverflow.com
self.get_current_url() # SeleniumBase only self.get_origin() # SeleniumBase only
5条答案
按热度按时间mmvthczy1#
在Python 2中使用current_url元素:
对于Python 3和更高版本的selenium:
juzqafwq2#
根据这个文档(一个充满好东西的地方:):
或者,参见官方文档:https://www.selenium.dev/documentation/en/webdriver/browser_manipulation/#get-current-url
holgip5t3#
Selenium2Library有get_location():
cyvaqqii4#
另一种方法是检查chrome中的url栏以找到元素的id,让您的WebDriver单击该元素,然后使用selenium中的keys common函数发送您用于复制和粘贴的键,然后将其打印出来或将其存储为变量等。
e4yzc0pl5#
有多种方法可以通过
driver
获取当前URL:(Note不同的JS变量之间存在差异,如下所示:https://stackoverflow.com/a/5388084/7058266)
在某些情况下,您可能不需要完整的URL,而需要
origin
:例如,在stackoverflow页面上(比如这个),原点是
https://stackoverflow.com
。(当您不需要完整的URL时很有用。还有一些流行的Python框架,比如SeleniumBase,内置了返回URL(或源)的方法: