TypeError:'str'对象无法通过driver.current_url()调用(Python 3.6)(Selenium)

时间:2018-08-22 11:10:54

标签: python selenium web-crawler scrape

我的代码:

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:无法在driver.current_url()上调用'str'对象。关于如何解决此问题的任何提示?

我将遍历此站点上的页面并获取每个URL。如果还有另一种方法可以避免这种情况,请告诉我。

谢谢。

2 个答案:

答案 0 :(得分:2)

仅使用driver.current_url而不是driver.current_url()

来自docs

  

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

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

用法示例(Python 3):

my_url = driver.current_url
print(my_url)

答案 1 :(得分:0)

尝试使用setTimeout(function(){ alert(" Your quiz is currently being auto-saved, please do not close your window."); }, 18000000); 而不带括号。

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

消息错误告诉您driver.current_url是一个字符串,并且由于无法调用字符串对象,因此无法driver.current_url进行解释。