【发布时间】:2020-05-18 17:10:18
【问题描述】:
我正在尝试使用 selenium 点击此 webpage 中可用的 Jetzt bewerben。如果我坚持硬编码延迟,我到目前为止编写的脚本可以单击该网格。我想在不使用任何硬编码延迟的情况下进行点击。
我试过了:
import time
from selenium import webdriver
from selenium.webdriver.common.by import By
from selenium.webdriver.support.ui import WebDriverWait
from selenium.webdriver.support import expected_conditions as EC
url = "https://jobs.deloitte.de/job/D%C3%BCsseldorf-Werkstudent-%28mwd%29-Administration-Business-Process-Solutions/522320501/"
driver = webdriver.Chrome()
driver.get(url)
wait = WebDriverWait(driver,10)
time.sleep(5)
wait.until(EC.visibility_of_element_located((By.CSS_SELECTOR,"a#bewerben_top > h1"))).click()
如何单击该网格以摆脱硬编码延迟?
【问题讨论】:
-
不延迟会怎样?
-
当我没有延迟时,脚本似乎没有点击该链接。它也不会抛出任何错误。
-
你能检查是否有任何控制台错误?那么页面被加载时会发生什么,元素也被加载但元素没有绑定到javascript操作或相关的javascript仍在加载中。所以你的
visibility_of_element_located会看到元素但不会做任何事情。另一种方法可能是等待页面完全加载后您知道会出现的其他元素
标签: python python-3.x selenium selenium-webdriver web-scraping