如何使用 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

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

来自分类Dev

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

来自分类Dev

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

来自分类Dev

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

来自分类Dev

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

来自分类Dev

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

来自分类Dev

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

来自分类Dev

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

来自分类Dev

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

来自分类Dev

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

来自分类Dev

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

来自分类Dev

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

来自分类Dev

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

来自分类Dev

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

来自分类Dev

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

来自分类Dev

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

来自分类Dev

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

来自分类Dev

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

来自分类Dev

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

来自分类Dev

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

来自分类Dev

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

来自分类Dev

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

来自分类Dev

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

来自分类Dev

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

来自分类Dev

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

来自分类Dev

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

来自分类Dev

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

来自分类Dev

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

来自分类Dev

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

Related 相关文章

  1. 1

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

  2. 2

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

  3. 3

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

  4. 4

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

  5. 5

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

  6. 6

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

  7. 7

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

  8. 8

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

  9. 9

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

  10. 10

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

  11. 11

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

  12. 12

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

  13. 13

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

  14. 14

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

  15. 15

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

  16. 16

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

  17. 17

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

  18. 18

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

  19. 19

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

  20. 20

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

  21. 21

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

  22. 22

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

  23. 23

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

  24. 24

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

  25. 25

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

  26. 26

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

  27. 27

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

  28. 28

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

  29. 29

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

热门标签

归档