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

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

我目前正在尝试借助 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() 方法关闭会话。

知道这里的问题是什么吗?

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

谢谢,D