问题描述
有问题(“ if”部分)。
它不等我单击左箭头(例如)来执行任务并立即运行它。
from selenium import webdriver
import chromedriver_binary # Adds chromedriver binary to path
from selenium.webdriver import ActionChains
from selenium.webdriver.common.keys import Keys
driver = webdriver.Firefox()
driver.get("https://www.google.com/")
if Keys.ARROW_LEFT:
element = driver.find_element_by_css_selector('.gLFyf')
element.send_keys('khkh')
element.send_keys(Keys.ENTER)
解决方法
声明if Keys.ARROW_LEFT:
将始终为真
您必须使用服务员。 implicitly_wait
或WebDriverWait
所以会
driver = webdriver.Firefox()
driver.implicitly_wait(10)
driver.get("https://www.google.com/")
element = driver.find_element_by_css_selector('.gLFyf')
element.send_keys('khkh')
element.send_keys(Keys.ENTER)
或
driver = webdriver.Firefox()
driver.get("https://www.google.com/")
element = WebDriverWait(driver,10).until(EC.element_to_be_clickable((By.CSS_SELECTOR,".gLFyf")))
element = driver.find_element_by_css_selector('.gLFyf')
element.send_keys('khkh')
element.send_keys(Keys.ENTER)
有用的链接:waits,expected_conditions