webdriver send_keys 在 Chrome 中的 context_click 之后不工作
webdriver send_keys not working after context_click in Chrome
右键单击 Chrome 中的 link 后,send_keys(Keys.ARROW_DOWN)
不起作用。它在 Firefox 上完美运行。
如果我这样做
context_click().send_keys(Keys.ARROW_DOWN).send_keys(Keys.ENTER).perform()
它应该 select 右键单击菜单中的第二个选项,但它只是执行单击。
在下面的代码中,我想在新选项卡中打开 link,但它只是在同一个选项卡中打开。
driver = webdriver.Chrome()
driver.get("https://www.google.co.in/?gws_rd=ssl")
driver.maximize_window()
elm_search_wait = WebDriverWait(driver,10).until(EC.visibility_of_element_located((By.ID,"gbqfq")))
elm_search_text = driver.find_element_by_id("gbqfq")
elm_search_text.send_keys("selenium")
bln_content_page = WebDriverWait(driver,10).until(EC.title_contains("selenium"))
blm_result_set = WebDriverWait(driver,10).until(EC.visibility_of_element_located((By.XPATH,"//ol/div[@class='srg']")))
elm_result_set = driver.find_elements_by_class_name("g")
elm_result_1 = elm_result_set[0]
elm_search_link = elm_result_1.find_element_by_tag_name("a")
ActionChains(driver).move_to_element(elm_search_link)
ActionChains(driver).context_click(elm_search_link).send_keys(Keys.ARROW_DOWN).send_keys(Keys.ENTER).perform()
下面是一个 替代方案,它适用于 Firefox 和 Chrome:
ActionChains(driver).key_down(Keys.CONTROL).click(elm_search_link).perform()
这将模拟 link 上的 "Control + Click" 操作,导致它在新选项卡中打开。
send_keys(Keys.ARROW_DOWN)
不起作用。它在 Firefox 上完美运行。
如果我这样做
context_click().send_keys(Keys.ARROW_DOWN).send_keys(Keys.ENTER).perform()
它应该 select 右键单击菜单中的第二个选项,但它只是执行单击。
在下面的代码中,我想在新选项卡中打开 link,但它只是在同一个选项卡中打开。
driver = webdriver.Chrome()
driver.get("https://www.google.co.in/?gws_rd=ssl")
driver.maximize_window()
elm_search_wait = WebDriverWait(driver,10).until(EC.visibility_of_element_located((By.ID,"gbqfq")))
elm_search_text = driver.find_element_by_id("gbqfq")
elm_search_text.send_keys("selenium")
bln_content_page = WebDriverWait(driver,10).until(EC.title_contains("selenium"))
blm_result_set = WebDriverWait(driver,10).until(EC.visibility_of_element_located((By.XPATH,"//ol/div[@class='srg']")))
elm_result_set = driver.find_elements_by_class_name("g")
elm_result_1 = elm_result_set[0]
elm_search_link = elm_result_1.find_element_by_tag_name("a")
ActionChains(driver).move_to_element(elm_search_link)
ActionChains(driver).context_click(elm_search_link).send_keys(Keys.ARROW_DOWN).send_keys(Keys.ENTER).perform()
下面是一个 替代方案,它适用于 Firefox 和 Chrome:
ActionChains(driver).key_down(Keys.CONTROL).click(elm_search_link).perform()
这将模拟 link 上的 "Control + Click" 操作,导致它在新选项卡中打开。