亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

Selenium / Python:找到正確位置后從長列表中選擇鏈接

Selenium / Python:找到正確位置后從長列表中選擇鏈接

子衿沉夜 2023-06-27 16:19:00
該公司有 100 多個網站的列表,我正在嘗試使用 Selenium webdriver 自動將用戶帶入該網站。我對編程相當陌生,所以如果我的問題措辭不好,請原諒我。但是,我試圖從用戶那里獲取一個網站的名稱,例如下面示例中的“Alpharetta - Cemex”,并在這么長的內容中找到它列表,然后選擇該鏈接。通過測試,我非常確定我需要單擊的元素是h3 類,該類還保存data-hmi-name下的站點名稱網站代碼示例: 我嘗試過使用下面的方法,但它似乎從來沒有工作過..driver.find_element_by_css_selector("h3.tru-card-head-text uk-text-center[data-hmi-name='Alpharetta - Cemex']").click() #For this one I tried to select the h3 class by searching for all those elements that has the name Alpharetta - Cemex或者**theCards = main.find_elements_by_tag_name("h3")** #I tried both of these declarations for theCards**#theCards = main.find_elements_by_class_name("tru-card-wrapper")**#then used the loop below. This obviously didn't work and it just returns an error that card.text doesn't actually existfor card in theCards:    #title = card.find_elements_by_tag_name("h3")    print(card.text)    if(card.text == theSite):        card.click()任何幫助或指導將不勝感激!我是 Python 編程新手,如果你能解釋我做錯了什么,我將永遠感激不已!
查看完整描述

1 回答

?
慕姐8265434

TA貢獻1813條經驗 獲得超2個贊

如果您想單擊單個鏈接(例如 Alpharetta - Cemex),您可以嘗試如下:


theSite = "Alpharetta - Cemex" #You can store user inputted site Name here

linkXpath = "//a[h3[contains(text(),'"+theSite +"']]"

    

WebDriverWait(driver, 30).until(EC.element_to_be_clickable((By.XPATH, linkXpath))).click() #This will wait for element to be clickable before it clicks

如果上面不起作用。如果您的鏈接不在屏幕中/不可見。您可以使用java 腳本首先滾動到元素并單擊,如下所示:


ele = WebDriverWait(driver, 30).until(EC.presence_of_element_located((By.XPATH, linkXpath)))

driver.execute_script("arguments[0].scrollIntoView();", ele )

driver.execute_script("arguments[0].click();", ele )

您需要導入:


from selenium import webdriver

from selenium.webdriver.common.by import By

from selenium.webdriver.support import expected_conditions as EC

from selenium.webdriver.support.wait import WebDriverWait


查看完整回答
反對 回復 2023-06-27
  • 1 回答
  • 0 關注
  • 142 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號