我试图点击网站上的链接,其中有一整页。我尝试使用is_displayed()选项,我回来了#34; true"但后来仍然给了我这个错误。我之前在其他项目上遇到过这个错误,因为selenium没有看到这个链接。我尝试在代码中放置一个向下滚动选项,但只有在页面向下滚动太远时才会工作很多次。
我还有哪些其他选项可以点击链接?
代码:
href1 = driver.find_element_by_xpath("//*[@id='divDesktopResults']//div//div//div//a[@href='" + link + "']")
if (href1.is_displayed()):
print('true')
href1.click()
else:
print('False')
错误:
selenium.common.exceptions.WebDriverException: Message: unknown error: Element <a class="popimg" data-toggle="popover" style="text-decoration:underline;margin-right:20px;" data-content="<img style='max-width:250px;' src='/Home/GetPng?ID=D218098469' ></a>" data-html="true" data-trigger="hover" href="#pdfviewer?ID=D218098469">...</a> is not clickable at point (441, 514). Other element would receive the click: <div class="row">...</div>
(Session info: chrome=66.0.3359.181)
(Driver info: chromedriver=2.38.552522 (437e6fbedfa8762dec75e2c5b3ddb86763dc9dcb),platform=Windows NT 10.0.16299 x86_64)
编辑:
解决另一种方法,将所有链接放在一个数组中并使用driver.get而不是单击链接。
答案 0 :(得分:0)
Selenium抱怨说链接无法看到,但其他内容基本上位于链接之上。单击链接所在的屏幕将改为单击“行”div。这意味着CSS错误,其中您有多个元素一个在另一个之上。您可以通过为链接提供非常高的Z值来确认这一点,以便它位于其他所有值之上并重新运行测试。