“”网上刮维基百科网页“”
from selenium import webdriver
from selenium.webdriver.common.by import By
from selenium.webdriver.chrome.service import Service
from webdriver_manager.chrome import ChromeDriverManager
driver = webdriver.Chrome(service=Service(ChromeDriverManager().install()))
driver.get("https://en.wikipedia.org/wiki/Main_Page")
num_articles1 = driver.find_element(By.CSS_SELECTOR, '#articlecount a')
print(num_articles1.text)
num_articles1.click()
driver.close()问题: num_articles1返回值,但是为什么click()不能工作?不明白为什么会这样,我错过了什么?
发布于 2022-08-03 03:08:51
在我的Windows 10上,使用最新的Selenium、ChromeDriver和Chrome,文章的数量(即6,559,615 )打印得很完美,click()也很完美。
但是,要单击可单击的元素,理想情况下需要为诱导WebDriverWait,并且可以使用以下任何一个
使用
驱动程序,20).until(EC.element_to_be_clickable((By.CSS_SELECTOR,"#articlecount a"))).click()
使用XPATH的
20).until(EC.element_to_be_clickable((By.XPATH,"//div@id='articlecount'/a"))).click()驱动程序WebDriverWait
从selenium.webdriver.support.ui导入WebDriverWait从selenium.webdriver.common.by导入从selenium.webdriver.support导入expected_conditions作为EC
https://stackoverflow.com/questions/73215061
复制相似问题