如何使用Selenium单击外观上的元素?

时间:2019-08-19 07:31:11

标签: python selenium

我想解析一个站点,但是它是交互式的,某些元素仅在您与其他元素交互时才会出现。因此,我单击按钮,然后需要在页面上找到另一个元素,然后也单击它。我正试图像这样:

button.click()
elem = driver.find_element_by_css_selector('.someselector')
elem.click()

但是,新元素的加载需要时间,因此上面的代码总是抛出NoSuchElement异常。因此,我添加了时间暂停:

button.click()
time.sleep(3)
elem = driver.find_element_by_css_selector('.someselector')
elem.click()

它可以工作,但是有时加载新元素需要3秒钟以上的时间,并且再次出现异常。甚至更糟的是,加载过程可能会花费不到3秒的时间,这会使应用程序失去时间,这一点至关重要。 因此,我想请您提供一种更好的方法来解决我的问题。

0 个答案:

没有答案