Python Selenium等待所有元素的可见性超时
我正在测试如何在搜索结果页面中获取所有结果,以了解如何使用Selenium。当登录到该站点时,我可以在普通浏览器中看到该特定页面的完整源代码,包括完成该页面的行的div 当然,对于较长的结果集,普通浏览器不会显示,因为Javascript加载比较慢,所以我想找到一种方法让Selenium等待所有结果加载 我基于以下的等待代码: 以下是此特定页面的超时错误:Python Selenium等待所有元素的可见性超时,python,selenium,web-scraping,webdriverwait,Python,Selenium,Web Scraping,Webdriverwait,我正在测试如何在搜索结果页面中获取所有结果,以了解如何使用Selenium。当登录到该站点时,我可以在普通浏览器中看到该特定页面的完整源代码,包括完成该页面的行的div 当然,对于较长的结果集,普通浏览器不会显示,因为Javascript加载比较慢,所以我想找到一种方法让Selenium等待所有结果加载 我基于以下的等待代码: 以下是此特定页面的超时错误: try: element = WebDriverWait(driver,100).until(EC.visibility_of_al
try:
element = WebDriverWait(driver,100).until(EC.visibility_of_all_elements_located((By.CLASS_NAME, "_3t0c")))
finally:
print('done with webdriver wait anyway')
引发的错误是:
in <module>
element = WebDriverWait(driver, 100).until(EC.visibility_of_all_elements_located((By.CLASS_NAME, "_3t0c")))
File "..longFilePath....\lib\site-packages\selenium\webdriver\support\wait.py", line 80, in until
raise TimeoutException(message, screen, stacktrace)
selenium.common.exceptions.TimeoutException: Message:
注意:如果我注释掉这个try循环,我仍然可以得到这个页面上的所有结果
否则,我试着让Selenium等待results div类的结束,也是timeout=100时的timeout error,我可以在Selenium中看到页面加载可能不到20秒
但我只是尝试使用不同的class=“_32mo”,它似乎在列表中每个名字都有一个,这显然没有超时
我对Selenium很陌生,对网页抓取也很陌生,我只是好奇,有人能解释一下可能发生了什么吗?对于显示的错误,该方法需要一个元组,因此需要更多的括号。试一试
WebDriverWait(driver,30).until(EC.visibility_of_all_elements_located((By.CLASS_NAME, "_3t0c")))
TypeError:接受2个位置参数,但给出了3个 将定位器的类型和值赋给变量 例如: a=(By.CLASS_NAME,“_3t0c”) 然后将这个变量传递到括号中 例如:
a = (By.CLASS_NAME, "_3t0c")
wait = WebDriverWait(driver,30)
element = wait.until(EC.visibility_of_all_elements_located(a))
Facebook不允许你刮它们。使用API。如果不能在API中执行,请不要执行。
a = (By.CLASS_NAME, "_3t0c")
wait = WebDriverWait(driver,30)
element = wait.until(EC.visibility_of_all_elements_located(a))