Python 如何与此页面交互?硒
我正在尝试使用python,以及selenium和beautifulsoup,来获取数据/与web应用程序交互。我能够连接和拉一个项目的数据罚款。我遇到的问题是,web应用程序使用“选项卡”系统在同一窗口中打开页面。因此,例如,在一个窗口/一个浏览器选项卡中,可能会有五个不同的应用程序选项卡打开,它们的HTML格式相似,但数据不同。我希望在使用同一个selenium驱动程序时能够关闭这些选项卡。我已经缩小了元素的范围,在HTML中单击以执行此操作 看起来像这样Python 如何与此页面交互?硒,python,selenium,beautifulsoup,Python,Selenium,Beautifulsoup,我正在尝试使用python,以及selenium和beautifulsoup,来获取数据/与web应用程序交互。我能够连接和拉一个项目的数据罚款。我遇到的问题是,web应用程序使用“选项卡”系统在同一窗口中打开页面。因此,例如,在一个窗口/一个浏览器选项卡中,可能会有五个不同的应用程序选项卡打开,它们的HTML格式相似,但数据不同。我希望在使用同一个selenium驱动程序时能够关闭这些选项卡。我已经缩小了元素的范围,在HTML中单击以执行此操作 看起来像这样 然而,我似乎无法以我喜欢的方式与
然而,我似乎无法以我喜欢的方式与页面交互
要尝试单击此元素,我有
item.click() #where item is <div class="close" data-ember-action="21">
实际上没有错误消息。程序在到达click()函数时会暂停
是否有一些简单的东西我遗漏了/我应该用其他方法来解决这个问题?问题还不清楚。。。我从您的问题中得出的结论是,您希望关闭通过单击选项卡打开的弹出窗口 据我所知,可以使用类名和由这些类名获得的文本单击选项卡 在上述html中,如果要单击“X”,请使用以下代码:
options = driver.find_elements_by_class_name("close")
for i in options:
if i.text == "X":
i.click()
这对我有用。我的错误是我试图使用beautifulsoup的find_all来获得一个可点击的项目。我所说的标签是指web应用程序在页面中嵌入了标签。谢谢!
element = driver.find_element_by_class_name("close")
hov = ActionChains(driver).move_to_element(element)
hov.perform() #what's this?
driver.find_element_by_class_name("close").click()
options = driver.find_elements_by_class_name("close")
for i in options:
if i.text == "X":
i.click()