Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/selenium/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 如何与此页面交互?硒_Python_Selenium_Beautifulsoup - Fatal编程技术网

Python 如何与此页面交互?硒

Python 如何与此页面交互?硒,python,selenium,beautifulsoup,Python,Selenium,Beautifulsoup,我正在尝试使用python,以及selenium和beautifulsoup,来获取数据/与web应用程序交互。我能够连接和拉一个项目的数据罚款。我遇到的问题是,web应用程序使用“选项卡”系统在同一窗口中打开页面。因此,例如,在一个窗口/一个浏览器选项卡中,可能会有五个不同的应用程序选项卡打开,它们的HTML格式相似,但数据不同。我希望在使用同一个selenium驱动程序时能够关闭这些选项卡。我已经缩小了元素的范围,在HTML中单击以执行此操作 看起来像这样 然而,我似乎无法以我喜欢的方式与

我正在尝试使用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()