[英]How do i click on the link while using selenium python
我是 python 和 selenium 的新手。 這是網頁即時試圖刮掉頁面的HTML片段這個我想刮的基礎上, data-attr1
在HTML代碼段中給出。 請分享一些代碼以找到此鏈接並單擊它。
<a class="js-track-click challenge-list-item" data-analytics="ChallengeListChallengeName" data-js-track="Challenge-Title" data-attr1="grading" data-attr3="code" data-attr4="true" data-attr5="true" data-attr7="10" data-attr-10="0.9" data-attr11="false" href="/challenges/grading"><div class="single-item challenges-list-view-v2 first-challenge cursor"><div id="contest-challenges-problem" class="individual-challenge-card-v2 content--list-v2 track_content"><div class="content--list_body"><header class="content--list_header-v2"><div class="challenge-name-details "><div class="pull-left inline-block"><h4 class="challengecard-title">Grading Students<div class="card-details pmT"><span class="difficulty easy detail-item">Easy</span><span class="max-score detail-item">Max Score: 10</span><span class="success-ratio detail-item">Success Rate: 96.59%</span></div></h4></div></div><span class="bookmark-cta"><button class="ui-btn ui-btn-normal ui-btn-plain star-button" tabindex="0" aria-label="Add bookmark"><div class="ui-content align-icon-right"><span class="ui-text"><i class="js-bookmark star-icon ui-icon-star"></i></span></div></button></span><div class="cta-container"><div class="ctas"><div class="challenge-submit-btn"><button class="ui-btn ui-btn-normal primary-cta ui-btn-line-primary" tabindex="0"><div class="ui-content align-icon-right has-icon"><span class="ui-text">Solved</span><i class="ui-icon-check-circle ui-btn-icon"></i></div></button></div></div></div></header></div></div><div class="__react_component_tooltip place-top type-dark " data-id="tooltip"></div></div></a>
如果頁面加載速度不如預期,您可以嘗試:
from selenium.webdriver.support.ui import WebDriverWait
from selenium.webdriver.support import expected_conditions as EC
from selenium.webdriver.common.by import By
WebDriverWait(driver, 10).until(EC.element_to_be_clickable((By.XPATH, "//a[@data-attr1='grading']"))).click()
您可以使用 xpath 單擊元素:
element = driver.find_element_by_xpath("//a[@data-attr1='grading']")
element.click();
由於沒有直接可用的name
id
或class
,您可以使用xpath
。 您要查找的元素在div
, class
challenges-list
,您想單擊其中的第一個鏈接。 你可以使用這個xpath
//a[@data-attr1='grading']
點擊你可以做
driver.find_element_by_xpath("//a[@data-attr1='grading']").click()
對 Actionchains 使用雙擊,因為單擊在 Python 中可能不起作用。
例如。
from selenium.webdriver import ActionChains
# Get the element however you want
element = driver.find_element_by_xpath("//a[@data-attr1='grading']")
ActionChains(driver).double_click(settings_icon).perform()
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.