我正在使用Python中的Selenium。我有一些超链接列表,我正在迭代每个超链接,并在新标签页中打开该特定链接,然后使用Keys.CONTROL + Keys.SHIFT + Keys.RETURN
将焦点放在新标签页上。
不幸的是,在新标签页上使用xpath选择时,打开新标签页失败:
from selenium import webdriver
from selenium.webdriver.common.keys import Keys
from selenium.webdriver.common.by import By
from time import sleep
list_links = self.driver(By.XPATH, "//a/" )
for link in list_links:
link.send_keys(Keys.CONTROL + Keys.SHIFT + Keys.RETURN) #Open new Tab
#get text from new tab webpage.
sleep(50)
data = self.driver.find_element(By.XPATH, "//span/" ).text #ERROR
print data
我能够打开新的标签并设置焦点到新标签(这似乎有效)。但是当我尝试在新标签上使用XPath时,它会抛出:
NoSuchElementException: Message: no such element.
即使元素可用。我不知道我在这里做错了什么。任何帮助将不胜感激。
sleep(50)
。不确定它是否会阻塞线程,但可能会,然后您将永远无法选择任何内容。请尝试使用WebDriverWait
函数。 - AbelWebDriverWait
函数,但问题仍然存在。我认为问题在于链接在新标签页中打开,并且它显示当前标签页已聚焦,但我认为selenium将当前活动焦点指向了上一个标签页
而不是当前标签页。请帮忙解决一下。 - iNikkz