如何使用 python 和 selenium 在新选项卡中打开链接

用户3820991

我想在新标签页中打开在网站上找到的链接。我试图打开一个新的标签和链接的URL传递给驾驶者的建议在这里不过,新标签根本无法打开。(还有一些关于如何打开新标签的其他建议,但它们似乎都不适合我。)

所以我最近的尝试是右键单击链接并按“t”在新选项卡中打开链接,如下所示:

from selenium import webdriver
from selenium.webdriver.common.keys import Keys
from selenium.webdriver.common.action_chains import ActionChains

# Using Firefox to access web
driver = webdriver.Firefox()

# Open the website
driver.get('https://registers.esma.europa.eu/publication/searchRegister?core=esma_registers_firds')

# search for information
elem = driver.find_element_by_id('keywordField')
elem.clear()
elem.send_keys('XS1114155283')

button = driver.find_element_by_id('searchSolrButton')
button.click()

table_body = driver.find_element_by_xpath("//table[@id='T01']/tbody")
for link in table_body.find_elements_by_tag_name('a'):

    act = ActionChains(driver)
    act.context_click(link)
    act.send_keys("t")
    act.perform()

    # ... do something in the new tab, close tab, and open next link ...

但是,我收到一条错误消息act.perform(),内容为

MoveTargetOutOfBoundsException: (974, 695) is out of bounds of viewport width (1366) and height (654)

我通过在新窗口中打开链接来解决问题,但我真的更喜欢标签版本,因为打开新浏览器窗口而不是新标签需要更长的时间。

卡菲尔斯

您可以使用driver.execute_script()函数在新标签页中打开链接

from selenium import webdriver

# Using Firefox to access web

driver = webdriver.Firefox()

# Open the website
driver.get('https://registers.esma.europa.eu/publication/searchRegister?core=esma_registers_firds')

# search for information
elem = driver.find_element_by_id('keywordField')
elem.clear()
elem.send_keys('XS1114155283')

button = driver.find_element_by_id('searchSolrButton')
button.click()

table_body = driver.find_element_by_xpath("//table[@id='T01']/tbody")
for link in table_body.find_elements_by_tag_name('a'):
    href = link.get_attribute('href')
    # open in new tab
    driver.execute_script("window.open('%s', '_blank')" % href)
    # Switch to new tab
    driver.switch_to.window(driver.window_handles[-1])

    # Continuous your code

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

python selenium在新选项卡中打开链接,并在新选项卡中继续会话

来自分类Dev

如何在Selenium中更改URL而无需打开新选项卡(python)?

来自分类Dev

如何使用Selenium WebDriver在新选项卡(chrome)中打开链接?

来自分类Dev

如何使用javascript和jquery中的<a>标记在新选项卡中打开链接

来自分类Dev

Python-使用Selenium打开多个选项卡

来自分类Dev

如何在 Selenium for Python 上由 .click() 打开的新选项卡上使用 driver.current_url

来自分类Dev

如何使用 selenium、chrome 驱动程序和 python 关闭新建的选项卡

来自分类Dev

打开Selenium WebDriver后,如何控制新选项卡?

来自分类Dev

如何在 Java 中的 Selenium 3 中打开新选项卡

来自分类Dev

无法使用 Selenium Webdriver 在浏览器中打开新选项卡

来自分类Dev

如何打开多个选项卡并在 Selenium 和 Webdriver 之间切换?

来自分类Dev

Python Selenium Firefox:使用Firefox配置文件时无法打开多个选项卡

来自分类Dev

如何使用ASP.NET和C#在新的浏览器选项卡中打开任何文件?

来自分类Dev

Python-Selenium:提交表单而无需打开新选项卡或新窗口

来自分类Dev

使用 Python 发布信息刷新网站或使用 Python 在现有选项卡中打开其他链接

来自分类Dev

如何使用Selenium和Python从元素获取链接

来自分类Dev

如何使用Python和Selenium获得链接的onclick“操作”?

来自分类Dev

如何使用预期的条件new_window_is_opened切换选项卡并使用Selenium和Python验证页面标题

来自分类Dev

使用Selenium和Python单击Javascript选项卡,而没有唯一的类ID或元素名称

来自分类Dev

如何获得选择的选项(Selenium和Python)

来自分类Dev

如何使用Selenium和Python更改DOM中的属性值

来自分类Dev

如何使用Selenium和Python 2.7单击表单中的按钮?

来自分类Dev

如何使用Selenium和Python在iframe中单击按钮

来自分类Dev

如何使用Selenium和Python从列表中获取特定元素

来自分类Dev

如何使用Selenium和Python在iFrame中定位元素

来自分类Dev

如何强制动态对象中的链接在新选项卡中打开?

来自分类Dev

使用脚本(按钮)在 HTML 中的新选项卡中打开链接

来自分类Dev

当我单击链接时,它将使用jquery打开两个新选项卡。这在Firefox中有效,但在chrome和IE中不起作用

来自分类Dev

如何在新选项卡中打开选择超链接

Related 相关文章

  1. 1

    python selenium在新选项卡中打开链接,并在新选项卡中继续会话

  2. 2

    如何在Selenium中更改URL而无需打开新选项卡(python)?

  3. 3

    如何使用Selenium WebDriver在新选项卡(chrome)中打开链接?

  4. 4

    如何使用javascript和jquery中的<a>标记在新选项卡中打开链接

  5. 5

    Python-使用Selenium打开多个选项卡

  6. 6

    如何在 Selenium for Python 上由 .click() 打开的新选项卡上使用 driver.current_url

  7. 7

    如何使用 selenium、chrome 驱动程序和 python 关闭新建的选项卡

  8. 8

    打开Selenium WebDriver后,如何控制新选项卡?

  9. 9

    如何在 Java 中的 Selenium 3 中打开新选项卡

  10. 10

    无法使用 Selenium Webdriver 在浏览器中打开新选项卡

  11. 11

    如何打开多个选项卡并在 Selenium 和 Webdriver 之间切换?

  12. 12

    Python Selenium Firefox:使用Firefox配置文件时无法打开多个选项卡

  13. 13

    如何使用ASP.NET和C#在新的浏览器选项卡中打开任何文件?

  14. 14

    Python-Selenium:提交表单而无需打开新选项卡或新窗口

  15. 15

    使用 Python 发布信息刷新网站或使用 Python 在现有选项卡中打开其他链接

  16. 16

    如何使用Selenium和Python从元素获取链接

  17. 17

    如何使用Python和Selenium获得链接的onclick“操作”?

  18. 18

    如何使用预期的条件new_window_is_opened切换选项卡并使用Selenium和Python验证页面标题

  19. 19

    使用Selenium和Python单击Javascript选项卡,而没有唯一的类ID或元素名称

  20. 20

    如何获得选择的选项(Selenium和Python)

  21. 21

    如何使用Selenium和Python更改DOM中的属性值

  22. 22

    如何使用Selenium和Python 2.7单击表单中的按钮?

  23. 23

    如何使用Selenium和Python在iframe中单击按钮

  24. 24

    如何使用Selenium和Python从列表中获取特定元素

  25. 25

    如何使用Selenium和Python在iFrame中定位元素

  26. 26

    如何强制动态对象中的链接在新选项卡中打开?

  27. 27

    使用脚本(按钮)在 HTML 中的新选项卡中打开链接

  28. 28

    当我单击链接时,它将使用jquery打开两个新选项卡。这在Firefox中有效,但在chrome和IE中不起作用

  29. 29

    如何在新选项卡中打开选择超链接

热门标签

归档