繁体   English   中英

在python中将WebDriver.current_url转换为字符串

[英]Converting WebDriver.current_url into string in python

我目前正在尝试将网页 url 转换为字符串,以便将其放入 html 格式

  for x in range(3):

        wDriver.get('https://www.example.com/')
        sTitle = wDriver.find_element_by_xpath('/html[1]/body[1]/div[1]/main[1]/div[4]/div[1]/div[1]/div[1]/div[1]/div['+str(i)+']/div[1]/div[1]/h2[1]/a[1]')
        sTitle.click()
        link = wDriver.current_url
        sHeader = wDriver.find_element_by_class_name('c-page-title')
        print(sHeader.text + ' ' + link)
        i=i+1
        newLink = str(link)
        time.sleep(2)
    
        
        sReturn = sReturn + '<p><a href="'+newLink+'">'+sHeader+'</a></p>'

我得到的错误代码是

"TypeError: can only concatenate str (not "WebElement") to str"
link = wDriver.current_url

current_url 返回一个字符串,所以链接已经是一个字符串。 您不需要再次显式转换为字符串。

您收到此异常的原因

"TypeError: can only concatenate str (not "WebElement") to str"

是因为当你看这里

sReturn = sReturn + '<p><a href="'+newLink+'">'+sHeader+'</a></p>'

newLink 是一个字符串,所以没有问题,但sHeader是一个网络元素。 这就是导致问题的原因。

请使用.text提取文本:

sReturn = sReturn + '<p><a href="'+newLink+'">'+sHeader.text+'</a></p>'

或者如果出于任何原因您希望将其存储在变量中,请使用:

sHeader = wDriver.find_element_by_class_name('c-page-title').text
sReturn = sReturn + '<p><a href="'+newLink+'">'+sHeader+'</a></p>'

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM