【问题标题】:python-selenium and ChromeDriver: Can't open tab to control itpython-selenium 和 ChromeDriver:无法打开选项卡来控制它
【发布时间】:2016-06-27 11:28:34
【问题描述】:

我无法在 Mac OS X 上使用 Python 2.7.1、Selenium 2.53.0、ChromeDriver 2.22 和 Google Chrome 51.0 打开新标签页 - 甚至无法单击链接并在新标签页上打开它。

 import selenium.webdriver as webdriver
 import selenium.webdriver.support.ui as ui
 from selenium.webdriver.common.keys import Keys
 from selenium.webdriver.common.action_chains import ActionChains
 from time import sleep

 driver = webdriver.Chrome('/path/to/chromedriver')

 driver.get('https://twitter.com')
 driver.find_element_by_id('signin-email').send_keys(Keys.COMMAND + 't')

它会打开 URL,但不会打开新标签。

我还测试了使用 ActionChains 打开新标签页,但没有成功。

打开新标签的唯一方法是通过 execute_script() 使用 JavaScript,但在这种情况下我无法控制新标签。 switch_to.window() 不起作用。

【问题讨论】:

  • 在Mac上下载chromedriver后,chromedriver-2.22是它的名字吗?试试driver = webdriver.Chrome('/path/to/chromedriver-2.22/chromedriver')
  • 是的,我在测试多个版本(1.9 和 2.9)以查看是否可以打开选项卡时将其重命名为 -2.22。没有成功。
  • 试试这个....send_keys(Keys.COMMAND + Keys.RETURN);
  • @SaurabhGaur 是的! COMMAND + RETURN 确实有效!

标签: python selenium


【解决方案1】:

你应该尝试如下:-

driver.find_element_by_id('signin-email').send_keys(Keys.COMMAND + Keys.RETURN);

希望对你有帮助..:)

【讨论】:

    【解决方案2】:

    您可以尝试在按住ctrl 键的同时单击链接,这将在新标签中打开链接

    actions = ActionChains(driver)
    actions.key_down(Keys.CONTROL).perform()
    driver.find_element_by_id('signin-email').click()
    actions.key_up(Keys.CONTROL).perform()
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2018-10-31
      • 2019-08-04
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2019-07-01
      • 1970-01-01
      相关资源
      最近更新 更多