当前位置: 首页 > 知识库问答 >
问题:

新标签python selenium

邵祺
2023-03-14

我对包含Selenium的代码有一个问题:当我在新选项卡中打开一个链接时,程序不在新选项卡上工作,而是在旧选项卡上工作。我试图用CTRL选项卡更改选项卡,但这不起作用。然后我尝试了以下代码,我在另一个问题中发现:在新选项卡中打开链接并在选项卡之间切换(Selenium WebDRiver Python)

这也没用…有人知道吗?

PS:我正在使用Python 3.8.3

from selenium import webdriver
from selenium.webdriver.common.keys import Keys
from selenium.webdriver.common.by import By
from selenium.webdriver.support.ui import WebDriverWait
from selenium.webdriver.support import expected_conditions as EC
from selenium.webdriver.common.action_chains import ActionChains
from selenium.webdriver.support import ui
import time

username = "xxxxxxxxx"
password = "XXXXXXXXX"
Kunde = "XXXXXXXXXXXX"

PATH = "C:\Drivers\Webdriver\chromedriver.exe"
driver = webdriver.Chrome(PATH)

driver.get("https://areaclienti.gse.it/")
print(driver.title)

#some navigation in between
#some navigation in between
#some navigation in between
#some navigation in between

first_link = driver.find_element_by_xpath("/html/body/app-root/app-private/nb-layout/div[1]/div/div/div/div/nb-layout-column/div/app-my-services-container/mat-tab-group/div/mat-tab-body[2]/div/app-my-services-operator-list/div[2]/table/tbody/tr[2]/td/div/app-operator-service-subscription/div/div/div/div[2]/div[2]/div/div/app-card-sm/mat-card/div[1]")

# Save the window opener (current window, do not mistake with tab... not the same).
main_window = driver.current_window_handle

driver = 1
# Open the link in a new tab by sending keystrokes on the element.
actions = ActionChains(driver)
actions.key_down(Keys.COMMAND)
actions.click(first_link)
actions.key_up(Keys.COMMAND)
actions.perform()

driver.switch_to.window(driver.window_handles[1])

time.sleep(5)

# Close current tab.
driver.close()

time.sleep(5)

# Put the focus on the current window which will be the window opener.
driver.switch_to.window(main_window)

# Close the instance of the browser.
driver.quit()

共有1个答案

高豪
2023-03-14

没关系,我解决了。关键是使用此代码:

from selenium import webdriver
from selenium.webdriver.common.keys import Keys
from selenium.webdriver.common.by import By
from selenium.webdriver.support.ui import WebDriverWait
from selenium.webdriver.support import expected_conditions as EC
from selenium.webdriver.common.action_chains import ActionChains
from selenium.webdriver.support import ui
import time

#...

#...

actions = ActionChains(driver)
about = driver.find_element_by_xpath("enter your XPATH")
actions.key_down(Keys.CONTROL).click(about).key_up(Keys.CONTROL).perform()

driver.switch_to.window(driver.window_handles[-1])
 类似资料:
  • HTML5中引入了以下标记(元素) - 标签(元素) 描述 <article> 表示文档的独立内容,例如博客文章或报纸文章 <aside > 表示仅与页面其余部分略有相关的内容。 <audio> 定义音频文件。 <canvas> 这用于动态渲染动态位图图形,例如图形或游戏。 <command> 表示用户可以调用的命令。 <datalist> 与输入的新列表属性一起可用于制作组合框 <details

  • 问题内容: 我有一个活动,该活动的TabHost包含一组TabSpec,每个TabSpec都有一个listview,其中包含要由该选项卡显示的项目。创建每个TabSpec时,我设置一个图标以显示在选项卡标题中。 TabSpec是通过以下方法创建的,该方法循环创建适当数量的选项卡: 有几个实例,我希望能够更改程序执行过程中每个选项卡中显示的图标。目前,我正在删除所有选项卡,并再次调用上述代码以重新创

  • 问题内容: 请不要介意这是一个愚蠢的问题, 是否有可能在php中使用新标签页打开一个窗口 问题答案: 不,不可能。标头将仅在当前窗口/选项卡中重定向当前页面。

  • 很好的一天。请您通过打开Chrome浏览器创建一个新选项卡,在其中执行一些操作,关闭新选项卡,然后返回第一个选项卡并继续在其中工作,来判断Selenium VBA是否可行? 我用以下代码打开浏览器:

  • 当我想用帖子的现有标签编辑帖子时,它只显示一个标签,尽管所选帖子中有更多标签。我还想在后期编辑刀片中输入新标签。 后期创建代码 **post控制器中的post更新代码** **后期编辑刀片的标签代码**

  • mynews|站内新闻: 标签名称:mynews 标记简介: 功能说明:站内新闻调用标签 适用范围:全局使用 基本语法: {dede:mynews row='' titlelen=''/} 参数说明: row='1' 调用站内新闻数 titlelen='24' 新闻标题长度 底层模板变量: [field:title/]、[field:writer/]、 [field:senddate functi