browser.click()& browser.send_keys()冲突 - Selenium 3.0 Python 2.7

时间:2017-02-17 08:59:21

标签: python-2.7 selenium selenium-webdriver selenium-firefoxdriver

我目前正在尝试在http://www.yifysubtitles.com网站的帮助下实施字幕下载。

我的代码的第一部分是点击接受cookie按钮然后发送密钥来搜索感兴趣的电影。

url = "http://www.yifysubtitles.com"

profile = SetProfile() # A function returning my favorite profile for Firefox
browser = webdriver.Firefox(profile)

WindowSize(400, 400)
browser.get(url)

accept_cookies = WebDriverWait(browser, 100).until(
EC.element_to_be_clickable((By.CLASS_NAME, "cc_btn.cc_btn_accept_all")))

accept_cookies_btn = browser.find_element_by_class_name("cc_btn.cc_btn_accept_all")
accept_cookies_btn.click()

search_bar = browser.find_element_by_id("qSearch")
search_bar.send_keys("Harry Potter and the Chamber of Secrets")
search_bar.send_keys(Keys.RETURN)
print "Succesfully clicked!"

但它只能使用一次 - 如果不是随机的话。如果我打开我的电脑并运行代码,它会点击,进行搜索并打印最后一个语句。第二次,它没有点击但仍然进行搜索并打印最终声明。

每次尝试后,我都会使用browser.quit()方法关闭会话。

关于这里可能存在什么问题的任何想法?

1 个答案:

答案 0 :(得分:0)

指定等待按钮和搜索栏,它应该可以解决您的问题。

谢谢,d