TypeError:“str”对象无法使用 driver.current_url() 调用(Python 3.6)(Selenium)

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

我的代码:

https://pastebin.com/WKHZwAib

import selenium
from selenium import webdriver as web

url = 'https://www.wta.org/go-outside/hikes/hike_search? sort=&rating=0&mileage:float:list=0.0&mileage:float:list=25.0&title=&region=all&searchabletext=&filter=Search&subregion=all&b_start:int=0&show_incomplete=on&elevationgain:int:list=0&elevationgain:int:list=5000&highpoint='

driver = web.Chrome('D:/Development/Projects/Test/test/chromedriver')

driver.get(url)

driver.current_url()    

我收到 TypeError: 'str' object is not callable on driver.current_url()。关于如何解决这个问题有什么建议吗?

我将浏览该网站上的页面并获取每个 URL。如果有其他方法可以避免这种情况,请告诉我。

提前致谢。

python selenium-webdriver web-scraping web-crawler
2个回答
5
投票

仅使用

driver.current_url
而不是
driver.current_url()

来自文档

某些属性是可调用的(或方法),而其他属性是不可调用的 (特性)。所有可调用属性均以 round 结尾 括号。

所以,

current_url
是一个属性,而不是一个方法,因此你不会调用它。

使用示例(Python 3):

my_url = driver.current_url
print(my_url)

1
投票

尝试使用不带括号的

driver.current_url

https://selenium-python.readthedocs.io/api.html#selenium.webdriver.remote.webdriver.WebDriver.current_url

消息错误告诉您

driver.current_url
是一个字符串,并且由于您无法调用字符串对象,所以
driver.current_url()
无法被解释。

© www.soinside.com 2019 - 2024. All rights reserved.