[英]How to click a link on a web page using Python Selenium?
我正在嘗試使用 Python Selenium 單擊網頁上的鏈接,但出現此異常:
沒有這樣的元素:無法找到元素:
我已經嘗試過使用find_element_by_xpath
、 find_element_by_partial_link_text
和find_element_by_link_text
。
這是我的代碼:
import time
from selenium import webdriver
driver = webdriver.Chrome('C:/Users/me/Downloads/projetos/chromedriver_win32/chromedriver.exe') # Optional argument, if not specified will search path.
driver.get('http://10.7.0.4/web/guest/br/websys/webArch/mainFrame.cgi');
time.sleep(10) # Let the user actually see something!
#elem = driver.find_element_by_xpath('//*[@id="machine"]/div[1]/div[1]/dl[2]/dt/a')
elem = driver.find_element_by_link_text('Mensagens (2item(ns))')
elem.click()
print("Fim...")
這是我需要單擊的元素:
<a href="javascript:wsMenu_jumpUrl('../../websys/webArch/getStatus.cgi#linkStateMsg');" class="">Mensagens (2item(ns))</a>
您可以嘗試使用explicit waits
和customized css
:
CSS_SELECTOR :
a[href*='../../websys/webArch/getStatus.cgi']
示例代碼:
wait = WebDriverWait(driver, 10)
wait.until(EC.element_to_be_clickable((By.CSS_SELECTOR, "a[href*='../../websys/webArch/getStatus.cgi']"))).click()
進口:
from selenium.webdriver.support.ui import WebDriverWait
from selenium.webdriver.common.by import By
from selenium.webdriver.support import expected_conditions as EC
更新 1:
wait = WebDriverWait(driver, 10)
wait.until(EC.element_to_be_clickable((By.XPATH, "//a[contains(@href, 'ebsys/webArch/getStatus.cgi') and contains(text(), 'Mensagens')]"))).click()
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.