【发布时间】:2016-03-13 10:13:26
【问题描述】:
我写了一个python代码来自动登录到truecaller,搜索一个号码然后抓取结果。我成功登录然后搜索号码,但我真的不能理解流程程序。 这是代码
from selenium import webdriver
from selenium.webdriver.support.wait import WebDriverWait
from selenium.webdriver.support import expected_conditions as EC
from selenium.webdriver.common.by import By
# Initializing firefox browser
browser = webdriver.Firefox()
# Initializing login to google
browser.get('https://www.truecaller.com/sign-in/google')
browser.find_element_by_id('Email').send_keys('email')
browser.find_element_by_id('Passwd').send_keys('password');
browser.find_element_by_id('signIn').click();
# nice 1 gets printed immediately
print "nice1"
wait = WebDriverWait(browser,20)
element = wait.until(EC.element_to_be_clickable((By.ID,'submit_approve_access')))
# by clicking on element we are clicking on the "allow " button of the google authorization page
element.click();
# nice 2 takes a little while to get printed
print "nice2"
try:
element = WebDriverWait(browser, 0.1).until(
EC.presence_of_element_located((By.CLASS, "detailView__nameText")))
except:
browser.get("https://www.truecaller.com/in/9882541575")
现在,由于单击登录按钮后,页面重定向,所以我编写了等待块以等待新页面出现,以便单击那里的“允许”按钮。 一切正常,但我有一个简单的疑问。单击登录按钮时,“nice 1”会立即打印,但是当单击 submit_approve_access 或允许按钮时,“nice 2”需要一点时间才能打印出来与之前单击登录按钮并立即打印“nice 1”的情况不同,立即打印。因为下面的 try/except 块浪费了。请帮助我理解程序的流程。谢谢阅读。
【问题讨论】:
-
请您编辑此内容或重新关注您的问题,以便我们清楚您的问题是什么?你说你写了这段代码,但似乎认为我们会比你更了解它!
-
抱歉先生有问题。我打印了两个名为“nice 1”和“nice 2”的字符串,其中前一个几乎立即打印,但第二个需要一些时间。我想要这样做的原因。这是因为与第二页相比,第一页加载得非常快,因此两个字符串的打印有所不同。
-
嘿 Abhishek,我正在尝试做类似的事情。你能帮我解决这个问题吗?
-
@Irshad 你遇到什么问题?
-
上述代码中给出的 url 给出了 404 错误。这段代码现在可能不起作用..