[英]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.