ActionChains悬停在元素不稳定的行为上

时间:2018-06-12 13:09:12

标签: python-3.x selenium-chromedriver mousehover

我正在抓取网站http://www.nowgoal.com在该网站中有一个表格,其中每一行都是一个节点。如果您将鼠标悬停在每个分数上,则会在每个节点内显示隐藏的表格。在这种情况下,我正在尝试使用位于右侧的那个,尽管主要分数也存在问题。

我的代码如下

field=CornerButton(node) #Function that returns the element to hover over.

ActionChains(browser).move_to_element(field).perform()

try:  
  table=WebDriverWait(browser,10).until(
  EC.visibility_of_element_located((
  By.XPATH,'.//div[contains(@id,"sbOddsCorner") and contains(@style,"visibility: visible")]')))
except: table=None

每次返回的元素都是正确的元素,但通常情况下,table将返回为None。这是因为当表格保持隐藏状态时,样式属性为"visible :hidden",表示ActionChains无法正常工作,而且,有时它确实有效,有时则不然。

编辑:根据此线程python selenium : move_to_element() not working,当浏览器上的phisical游标时,move_element不起作用。如果这是正确的,你怎么能绕过这个?一种可能的方法是单击它而不是move_element。那将是一个补丁,因为即使使用这个元素,浏览器也不会发生任何事情,但情况并非总是如此。 永久解决方案是检查它是否返回None,如果是,则将鼠标移出窗口并重试。

有人知道怎么做吗?还有其他工作吗?

0 个答案:

没有答案