无法使用Selenium和Python单击“Show More”

2024-09-29 23:30:38 发布

您现在位置:Python中文网/ 问答频道 /正文

我不能点击“Mehr anzeigen”。我使用Python来执行这个任务。在

HTML格式:

<div model="::expose.model.EstateDescription" class="ng-isolate-scope">
    <p ng-bind-html="::model | newline" class="ng-binding is-truncated" style="overflow-wrap: break-word;">Das in 1975 massiv gebaute Reihenendhaus ist auf drei Ebenen zu Wohnzwecken errichtet worden. 1990 wurde der Dachstuhl erneuert und gleichzeitig der Spitzboden ausgebaut. Im Kellergeschoss wurde die Möglichkeit zum Ausbau einer Einliegerwohnung mit separatem Eingang geschaffen. Im Erdgeschoss befindet sich ein großes Wohnzimmer mit angrenzender Terrasse, eine Küche, ein Flur und ein Gäste-WC. Im Obergeschoss wurde ein Bad mit Wanne und Dusche, zwei kleinere Schlafzimmer und ein Zimmer mit Balkon angeordnet. Im Spitzboden gibt es zwei Zimmer und... </p>
    <!-- ngIf: showLink -->
    <a ng-if="showLink" class="readmore show-more-link ng-binding ng-scope" ng-click="toggleRead()" ng-class="isTruncated?'':'open'">Mehr anzeigen</a> 
    <!-- end ngIf: showLink -->
</div>

我总是得到这样的错误:

WebDriverException: Message: unknown error: Element <a ng-if="showLink" class="readmore show-more-link ng-binding ng-scope" ng-click="toggleRead()" ng-class="isTruncated?'':'open'" btattached="true">...</a> is not clickable at point (114, 567). Other element would receive the click: <p>...</p>

我在Mozilla和Chrome上也试过。在

如有任何提示,我们将不胜感激。在

我试过这些方法:

^{pr2}$

**解决方案:**每次我用Selenium打开某个URL时,就会出现cookie框,隐藏该位置。在


Tags: divmodelmitngclassbindingclickscope
2条回答

你试过动作课吗?在

Actions action = new Actions(driver);

WebElement element = driver.findElement(By.id("random id");

action.click(element).build().perform();

首先,等待段落元素从链接顶部消失,然后单击链接。请尝试以下代码,其中包含与链接重叠的段落元素的详细信息:

from selenium.webdriver.support import ui
from selenium.webdriver.support import expected_conditions as EC
from selenium.webdriver.common.by import By

ui.WebDriverWait(driver, 10).until(EC.invisibility_of_element_located((By.CSS_SELECTOR, "p[class='ng-binding is-truncated']")));
driver.find_element_by_link_text('Mehr anzeigen').click();

相关问题 更多 >

    热门问题