簡體   English   中英

如何使用 selenium 在 python 中獲取 web 屬性的特定部分?

[英]how do I get a Specific part of a web attribute in python with selenium?

我需要在 window.open ('/echipa/lok-moscova/Sjs63WfK') 之后使用 selenium 從這個 web 元素中獲取該部分作為字符串,但我真的不知道該怎么做。 如果我能做到。

<a href="#" class="participant-imglink" onclick="window.open('/echipa/lok-moscova/Sjs63WfK'); return false;">Lok. Moscova</a>

您需要在硒中找到元素。 最簡單的方法是通過 id,你可以通過很多東西來搜索( 在這里查看更多)。

linkElement = driver.findElement(By.id("id"))

接下來,您可以將屬性提取為字符串

text = linkElement.getAttribute("onclick");

並移除過時的零件

text = text.replace("window.open(", "").replace(")", "")

那將是你的"/echipa/lok-moscova/Sjs63WfK"

這是 BeautifulSoup 的示例(您可以從 selenium 頁面源創建湯對象):

import re
from bs4 import BeautifulSoup

txt = '''
    <a href="#" class="participant-imglink" onclick="window.open('/echipa/lok-moscova/Sjs63WfK'); return false;">Lok. Moscova</a>
'''

soup = BeautifulSoup(txt, 'html.parser')

link = soup.select_one('a.participant-imglink[onclick]')
url = re.search(r"window\.open\('(.*?)'\)", link['onclick']).group(1)
print(url)

印刷:

/echipa/lok-moscova/Sjs63WfK

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM