【发布时间】:2020-05-17 08:53:41
【问题描述】:
我的问题是,当您单击链接时,会打开一个弹出窗口,但是在使用 selenium 时,它会打开,但会关闭主窗口。我使用.click()打开链接
这是html:
<a class="do do-task btn btn-sm btn-primary btn-block" href="javascript:;"
data-task-id="13054765" data-do-class="do-task"
data-getcomment-href="/tasks/getcomment/" data-check-count="0"
data-max-check-count="2" data-point-text="10 points">
<i class="far FA-star"></I> 10 points</a>
点击功能:
driver = webdriver.Chrome('chromedriver.exe')
def click_tasks():
tasks = driver.find_elements_by_class_name('btn-block')[7:]
print(tasks[0].text)
tasks[0].click()
你可以找到href,但我不知道如何。
帮助我了解如何获取href 或在您打开弹出窗口时使主窗口不关闭。我将不胜感激。
【问题讨论】:
-
请检查驱动配置,同时放源码。
-
body 上可能有一个事件监听器来处理点击,但是如果没有看到页面上的标记和脚本就很难说。 href 用处不大。
-
我对此不太了解,但是我可以从处理程序中获取链接吗?还是用pyautogui更好?
-
如果弹出窗口 url 是您想要的,您可以从位置栏(或将驱动程序切换到该窗口后的 driver.current_url)获取 url,也可以从脚本本身获取。 (脚本可能会在回调中从服务器获取一个 var...)
-
你知道为什么打开弹窗时主窗口会关闭吗?
标签: javascript python html python-3.x selenium