簡體   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