- android - 多次调用 OnPrimaryClipChangedListener
- android - 无法更新 RecyclerView 中的 TextView 字段
- android.database.CursorIndexOutOfBoundsException : Index 0 requested, 光标大小为 0
- android - 使用 AppCompat 时,我们是否需要明确指定其 UI 组件(Spinner、EditText)颜色
from selenium import webdriver
driver = webdriver.Chrome()
driver.set_page_load_timeout(7)
def urlOpen(url):
try:
driver.get(url)
print driver.current_url
except:
return
然后我有 URL 列表并调用上面的方法。
if __name__ == "__main__":
urls = ['http://motahari.ir/', 'http://facebook.com', 'http://google.com']
# It doesn't print anything
# urls = ['http://facebook.com', 'http://google.com', 'http://motahari.ir/']
# This prints https://www.facebook.com/ https://www.google.co.kr/?gfe_rd=cr&dcr=0&ei=3bfdWdzWAYvR8geelrqQAw&gws_rd=ssl
for url in urls:
urlOpen(url)
问题是当网站'http://motahari.ir/ ' 抛出超时异常,网站 ' http://facebook.com ' 和 ' http://google.com ' 总是抛出超时异常。
浏览器一直在等待“motahari.ir/”加载。但是循环继续(它不打开'facebook.com'但等待'motahari.ir/')并继续抛出超时异常
初始化 webdriver 实例需要很长时间,所以我将其从方法中删除,我认为这导致了问题。那么,每当出现超时异常时,我是否应该始终重新初始化 webdriver 实例?如何? (因为我在函数外初始化驱动程序,所以我不能在 except 中重新初始化它)
最佳答案
您只需清除浏览器的 cookie 即可继续。 (抱歉,我没有在您之前的代码中看到这一点)
from selenium import webdriver
driver = webdriver.Chrome()
driver.set_page_load_timeout(7)
def urlOpen(url):
try:
driver.get(url)
print(driver.current_url)
except:
driver.delete_all_cookies()
print("Failed")
return
urls = ['http://motahari.ir/', 'https://facebook.com', 'https://google.com']
for url in urls:
urlOpen(url)
输出:
Failed
https://www.facebook.com/
https://www.google.com/?gfe_rd=cr&dcr=0&ei=o73dWfnsO-vs8wfc5pZI
附言在没有明确异常类型的情况下执行 try...except...
不是很明智,这是否可能掩盖不同的意外错误。
关于 python Selenium 。如何正确使用 driver.set_page_load_timeout()?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46680312/
使用 python 绑定(bind),当我运行时 a = Remote('http://localhost:8080/wd/hub', DesiredCapabilities.ANDROID) a.s
from selenium import webdriver driver = webdriver.Chrome() driver.set_page_load_timeout(7) def urlOp
在 python selenium 的上下文中,我不太了解 driver.set_page_load_timeout(n) VS 的确切区别。 driver.set_script_timeout(n)
我是一名优秀的程序员,十分优秀!