[英]Button tag isn't being recognized as being clicked, with on('click') function?
[英]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.