簡體   English   中英

試圖在python中的元素中找到一個id

[英]Trying to find a id in elements in python

我需要幫助,

我正在嘗試從網站上打印鏈接,這是代碼的樣子:

<div class="tabla_szoveg">
            <div style="cursor:pointer" onclick="konyvjelzo('1523442');" class="torrent_konyvjelzo2"></div>

我正在嘗試在“ konyvjelzo('1523442');”中打印數字。

使用硒

還嘗試了:

linkgettr= driver.find_element_by_class("box_torrent_all")

但是沒有得到謝謝

請檢查torrent_konyvjelzo2是否是動態的,如果不是,那么也可以用torrent文本替換下面的torrent文本,否則可以直接使用以下代碼。

split(“'”)[1]用於拆分您的konyvjelzo('1523442'); 文本

konyvjelzo( --> item 0
1523442     --> item 1
);          --> item 2

第一個項目索引從0開始。因此我們可以返回1個項目。

from selenium.webdriver.support.ui import WebDriverWait
from selenium.webdriver.support import expected_conditions as EC
from selenium.webdriver.common.by import By


element = WebDriverWait(driver, 20).until(EC.presence_of_element_located((By.XPATH, "//div[contains(@class, 'torrent')]")))
attribute=element.get_attribute("onclick")
print attribute.split("'")[1] 

我認為您可以使用簡單的正則表達式輕松找到它

ids = re.findall("onclick=\"konyvjelzo\('(.*?)'\);",page_text)

要打印onclick事件的部分 ,例如1523442,您必須為所需的visible_of_element_located visibility_of_element_located()誘導WebDriverWait ,並且可以使用以下解決方案:

  • 使用CSS_SELECTOR

     print(WebDriverWait(browser, 20).until(EC.visibility_of_element_located((By.CSS_SELECTOR, "div.tabla_szoveg>div.torrent_konyvjelzo2"))).get_attribute("onclick").split("'")[1]) 
  • 使用XPATH

     print(WebDriverWait(browser, 20).until(EC.visibility_of_element_located((By.XPATH, "//div[class='tabla_szoveg']/div[@class='torrent_konyvjelzo2']"))).get_attribute("onclick").split("'")[1]) 

暫無
暫無

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

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