[英]Python Selenium: How can I print the link?
如何打印 href 屬性的值?
<a href="aaaaa.pdf"></a>
如何使用 python selenium 打印鏈接aaaaa.pdf
?
HTML:
<div class="xxxx">
<a href="aaaaa.pdf"></a>
</div>
你可以這樣做:
print(driver.find_element_by_css_selector(".xxxx a").get_attribute('href'))
嘗試以下:
pName = driver.find_element_by_css_selector(".xxxx").text
print(pName)
或者
pName = driver.find_element_by_css_selector(".xxxx").get_attribute("href")
print(pName)
div.xxxx a
首先,檢查這個CSS_SELECTOR
是否表示所需的元素。
檢查步驟:
Press F12 in Chrome
-> go 到element
部分 -> 執行CTRL + F
-> 然后粘貼css
並查看你想要的element
是否用1/1
匹配節點突出顯示。
如果是,則使用顯式等待:
wait = WebDriverWait(driver, 20)
print(wait.until(EC.element_to_be_clickable((By.CSS_SELECTOR, "div.xxxx a"))).get_attribute('href'))
進口:
from selenium.webdriver.support.ui import WebDriverWait
from selenium.webdriver.common.by import By
from selenium.webdriver.support import expected_conditions as EC
href
屬性的值即aaaaa.pdf在<a>
標簽內,它是<div>
標簽的唯一后代。
要打印href
屬性的值,您可以使用以下任一定位器策略:
使用css_selector :
print(driver.find_element(By.CSS_SELECTOR, "div.xxxx > a").get_attribute("href"))
使用xpath :
print(driver.find_element(By.XPATH, "//div[@class='xxxx']/a").get_attribute("href"))
要理想地提取值,您必須為visibility_of_element_located()引入WebDriverWait ,您可以使用以下任一定位器策略:
使用CSS_SELECTOR :
print(WebDriverWait(driver, 20).until(EC.visibility_of_element_located((By.CSS_SELECTOR, "div.xxxx > a"))).get_attribute("href"))
使用XPATH :
print(WebDriverWait(driver, 20).until(EC.visibility_of_element_located((By.XPATH, "//div[@class='xxxx']/a"))).get_attribute("href"))
注意:您必須添加以下導入:
from selenium.webdriver.support.ui import WebDriverWait from selenium.webdriver.common.by import By from selenium.webdriver.support import expected_conditions as EC
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.