簡體   English   中英

如何使用 Python Selenium 單擊網頁上的鏈接?

[英]How to click a link on a web page using Python Selenium?

我正在嘗試使用 Python Selenium 單擊網頁上的鏈接,但出現此異常:

沒有這樣的元素:無法找到元素:

我已經嘗試過使用find_element_by_xpathfind_element_by_partial_link_textfind_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 waitscustomized 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.

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