繁体   English   中英

Python Selenium 按钮没有被点击

[英]Python Selenium button isn't being clicked

我正在尝试使用 python (硒和美丽的汤)从该网站( https://www.ilcollege2career.com/#/ )中抓取数据。

我的代码是这样的:

driver = webdriver.Chrome('my file path')

driver.get('https://www.ilcollege2career.com/#/')

first_click = WebDriverWait(driver,5).until(EC.element_to_be_clickable((By.XPATH, '//*[@id="tutorial-modal"]/div/div/div/div[3]/button[1]')))
first_click.click()

second_click = WebDriverWait(driver,5).until(EC.element_to_be_clickable((By.XPATH, '//*[@id="tutorial-start-modal"]/div/div/div[2]/div[2]')))
second_click.click()

所以我的问题是,当第一次点击有效并且进入教程步骤时,第二次点击将关闭教程并没有点击。 由于某种原因 time.sleep() 有效,但我不想在每一步都重复这一点。 难道我做错了什么?

我也尝试过通过 css 查找元素。

谢谢你。

到 second_click 的 xpath 是不准确的,因为它不会将点击发送到正确的元素。 试试这个,

driver.fullscreen_window()

driver.get('https://www.ilcollege2career.com/#/')

first_click = WebDriverWait(driver,10).until(EC.element_to_be_clickable((By.XPATH, '//*[@id="tutorial-modal"]/div/div/div/div[3]/button[1]')))
first_click.click()

选项#1 -

second_click = WebDriverWait(driver,10).until(EC.element_to_be_clickable((By.XPATH, "//button[@onclick='closeTutorial()']")))
second_click.click()

选项#2 -

second_click = WebDriverWait(driver,10).until(EC.element_to_be_clickable((By.XPATH, "//div[@onclick='closeTutorial()']")))
second_click.click()

我为那些正在寻找它的人找到了解决方案。

invisible = WebDriverWait(driver, 10).until(EC.invisibility_of_element_located((By.ID, 'tutorial-modal')))

if invisible:

后面有东西跑,不会关闭,所以我永远无法关闭它,通过这样做,我能够退出。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM