在最长的时间内,我在硒上找不到我在页面上寻找的按钮时遇到了问题。一周后,我有了一个“绝妙的主意”来检查硒正在搜索按钮的URL。对不起,这是错误的URL。
问题是,硒在page1中搜索特定项目。然后单击它,并通过网站设计在新选项卡中打开page2。如何让硒跟随点击并在新标签上工作?
我虽然使用漂亮的汤只复制了page1中的URL,但是网站没有显示URL。而是显示获取网址的函数。这真的很奇怪和令人困惑。 想法?
all_matches = driver.find_elements_by_xpath("//*[text()[contains(., 'Pink')]]")
item = all_matches[0]
actions.move_to_element(item).perform()
item.click()
try:
print (driver.current_url)
get_button = driver.find_elements_by_xpath('//*[@id="getItem"]')
except:
print 'Cant find button'
else:
actions.move_to_element(get_button).perform()
get_button.click()
答案 0 :(得分:3)
Selenium将选项卡与窗口一样对待,因此,通常,切换到新窗口/选项卡很容易:
driver.switch_to.window(driver.window_handles[-1])
使用vars跟踪窗口可能会有所帮助:
main_window = driver.current_window_handle
page2_window = driver.window_handles[-1]
driver.switch_to.window(page2_window)
请注意,当您要关闭新窗口/标签时,必须同时关闭并切换回去:
driver.close()
driver.switch_to.window(main_window)