我正在使用Selenium和Python开发一个数据抓取脚本,我有以下代码行可以在我的Ubuntu PC上运行,我妻子的Windows PC,但不是我同事的Windows PC。
ActionChains(driver).context_click(inputElement).send_keys(Keys.ARROW_DOWN).click().perform()
我们在英国,他在加拿大是我所知道的唯一区别。
修改
我已经意识到发生了什么,但我不知道如何解决,是否正在网页上执行Keys.ARROW_DOWN,而不是在context_click元素上执行。有什么想法吗?这是Chrome问题吗?
答案 0 :(得分:0)
这可能是与目标网站的网络连接质量相关的计时问题。
我会通过引入inputElement
的显式等待来强化它,在启动动作链之前使用带有WebDriverWait
预期条件的element_to_be_clickable
。
您还可以添加元素的“滚动视图”以解决潜在的浏览器/解决方案/等特定布局问题:
driver.execute_script("arguments[0].scrollIntoView();", inputElement)
答案 1 :(得分:0)
解决方案: 我使用Firefox而不是Chrome重写了它,它工作正常。