python - 使用 selenium python 时如何单击链接

标签 python html selenium web-scraping automation

我是 python 和 selenium 的新手。 这是我试图抓取页面的 HTML 片段 this 我想根据 html 片段中给出的 data-attr1 进行抓取。 请分享一些代码来找到此链接并单击它。

<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()

关于python - 使用 selenium python 时如何单击链接,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59429955/

相关文章:

java - 为什么我的测试抛出 Exception-Unable to locate element in webdriver?

python - 数据清洗: extracting numbers out of string array by deleting '.' and ';' characters

python - 具有范围的指数幂

python - 带有 next 的异步生成器

javascript - 计算在 HTML5 canvas 径向进度条中点击的百分比

php - jquery - x-editable - 提交后重置 'new record'

html - 标题图片未在 Blogger 模板上居中对齐

python - 我们可以用纯Python urllib登录一个网站,修改一些表单值,然后提交吗? (没有 Selenium 浏览器自动化)

python - 如何在 heroku chromedriver buildpack 中设置 chromedriver 的路径

python - 按短数字拆分列表