无法使用Selenium在Python中点击span class元素

2024-10-03 17:25:14 发布

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

我无法使用以下代码单击链接:

<div class="qrcode-footer-text" ng-click="toggleQRLoginFormView()" tabindex="0">
    <span ga-clickevent="" screen-name="auth-init/QRlogin" event-category="login_v2" user-actions="login_clicked" event-action="login_clicked" event-type="customEvent" event-label="">Login/Signup with mobile number and password</span>
</div>
driver = webdriver.Firefox()
url = 'https://paytm.com/loan-emi-payment'
driver.get(url)
driver.find_element_by_xpath('//div[contains(@class,"_3SzD")]').click()
time.sleep(5)
iframe = driver.find_elements_by_tag_name('iframe')[0]

driver.switch_to.frame(iframe)
driver.implicitly_wait(10)
driver.find_element_by_xpath('//span[contains(@screen-name,"auth-init/QRlogin")]').click()

Tags: namedivautheventbyinitdriverlogin
1条回答
网友
1楼 · 发布于 2024-10-03 17:25:14

您在ng click属性为用过了应用于<div>节点,不可点击,元素为Angular元素。你知道吗

我用java运行这个代码。。你知道吗

在这里,我可以使用JavascriptExecutor点击“使用手机号码和密码登录/注册”按钮。你知道吗

 WebElement element= driver.findElement(By.cssSelector(".qrcode-footer-text"));

 JavascriptExecutor executor = (JavascriptExecutor) driver;
 executor.executeScript("arguments[0].click();", element);

执行描述:-

此方法在Selenium中当前选定的帧或窗口的上下文中执行JavaScript。此方法中使用的脚本在匿名函数(没有名称的函数)的主体中运行。我们也可以给它传递复杂的论点。你知道吗

脚本可以返回值。返回的数据类型为

    布尔值
长 字符串 列表
    网站元素。

**注意:您必须添加以下导入:

import org.openqa.selenium.JavascriptExecutor;
import org.openqa.selenium.WebElement;

相关问题 更多 >