相关疑难解决方法(0)

WebDriver点击()vs JavaScript点击()

故事:

在StackOverflow上,我看到用户报告他们无法通过selenium WebDriver"click"命令单击一个元素,并且可以通过执行脚本单击JavaScript来解决它.

Python中的示例:

element = driver.find_element_by_id("myid")
driver.execute_script("arguments[0].click();", element)
Run Code Online (Sandbox Code Playgroud)

WebDriverJS/Protractor中的示例:

var elm = $("#myid");
browser.executeScript("arguments[0].click();", elm.getWebElement());
Run Code Online (Sandbox Code Playgroud)

问题:

为什么在常规WebDriver点击时没有点击"通过JavaScript"?究竟是什么时候发生这种变通方法的缺点(如果有的话)?

我个人使用这种解决方法而没有完全理解为什么我必须这样做以及它可能导致什么问题.

javascript python selenium selenium-webdriver protractor

119
推荐指数
4
解决办法
3万
查看次数

Selenium-Debugging:元素在点(X,Y)处不可点击

我试图通过Selenium 刮掉这个网站.

我想点击"下一页"按钮,为此我这样做:

 driver.find_element_by_class_name('pagination-r').click()
Run Code Online (Sandbox Code Playgroud)

它适用于许多页面但不适用于所有页面,我收到此错误

WebDriverException: Message: Element is not clickable at point (918, 13). Other element would receive the click: <div class="linkAuchan"></div>
Run Code Online (Sandbox Code Playgroud)

总是为这个页面

我读了这个问题

我试过这个

driver.implicitly_wait(10)
el = driver.find_element_by_class_name('pagination-r')
action = webdriver.common.action_chains.ActionChains(driver)
action.move_to_element_with_offset(el, 918, 13)
action.click()
action.perform()
Run Code Online (Sandbox Code Playgroud)

但我得到了同样的错误

python selenium web-scraping selenium-firefoxdriver selenium-webdriver

42
推荐指数
3
解决办法
3万
查看次数

如何解决ElementNotInteractableException:在Selenium webdriver中看不到元素?

在这里,我有我的代码的图像和我的错误的图像.任何人都可以帮我解决这个问题吗?

在此输入图像描述

在此输入图像描述

java selenium webdriver selenium-webdriver webdriverwait

15
推荐指数
2
解决办法
3万
查看次数

如何解决此问题元素不可交互的Selenium Python

我的脚本代码中包含以下行,我从Selenium IDE获得的XPath可以正常运行:

driver.find_element_by_xpath("(//a[contains(@href, '')])[20]").click()
Run Code Online (Sandbox Code Playgroud)

自动化测试在此处停止,并出现以下错误:

Traceback (most recent call last):
File "Script.py", line 65, in <module>
    driver.find_element_by_xpath("//a[contains(@href, '')])[20]").click()
File "/usr/lib/python2.7/site-packages/selenium/webdriver/remote/webelement.py", line 80, in click
    self._execute(Command.CLICK_ELEMENT)
File "/usr/lib/python2.7/site-packages/selenium/webdriver/remote/webelement.py", line 633, in _execute
    return self._parent.execute(command, params)
File "/usr/lib/python2.7/site-packages/selenium/webdriver/remote/webdriver.py", line 321, in execute
    self.error_handler.check_response(response)
File "/usr/lib/python2.7/site-packages/selenium/webdriver/remote/errorhandler.py", line 242, in check_response
    raise exception_class(message, screen, stacktrace)
selenium.common.exceptions.ElementNotVisibleException: Message: element not interactable
(Session info: chrome=74.0.3729.131)
(Driver info: chromedriver=74.0.3729.6 (255758eccf3d244491b8a1317aa76e1ce10d57e9-refs/branch-heads/3729@{#29}),platform=Windows NT 6.1.7601 SP1 x86_64)
Run Code Online (Sandbox Code Playgroud)

如何解决这个问题?

谢谢你的帮助。

python selenium selenium-chromedriver selenium-webdriver

3
推荐指数
1
解决办法
1176
查看次数