我一直在尝试使用以下脚本从网页中解析以20012019.csv
结尾的链接,但事实是我总是遇到timeout exception
错误。我想到我以正确的方式做事。
但是,任何关于我要去哪里的见解都会受到高度赞赏。
到目前为止我的尝试:
from selenium import webdriver
url = 'https://promo.betfair.com/betfairsp/prices'
def get_info(driver,link):
driver.get(link)
for item in driver.find_elements_by_css_selector("a[href$='20012019.csv']"):
print(item.get_attribute("href"))
if __name__ == '__main__':
driver = webdriver.Chrome()
try:
get_info(driver,url)
finally:
driver.quit()
答案 0 :(得分:2)
您的代码很好(尝试并成功了),得到超时的原因是因为根据此answer的默认超时为60s,并且页面很大。
在提出get
请求之前将其添加到您的代码中(超时之前要等待180秒):
driver.set_page_load_timeout(180)
答案 1 :(得分:0)
你很近。您必须针对所有元素的可见性诱使 WebDriverWait ,并且需要更改以下行:
this
收件人:
class MyClass {
instanceMethod() {
console.log('first');
this.constructor.staticMethod();
}
static staticMethod(self) {
// how to call??
instancefromstatic(this).instanceMethod.call(self);
}
}
class OtherClass extends MyClass {
instanceMethod() {
console.log('second');
}
}
OtherClass.staticMethod({});
注意:您必须添加以下导入:
for item in driver.find_elements_by_css_selector("a[href$='20012019.csv']"):