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
我目前正在尝试借助 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