硒未在亚马逊网站上找到定位器

时间:2018-12-25 07:38:21

标签: python selenium

我在amazon.com上使用硒+ python定位元素时遇到麻烦。 试图按ID单击搜索按钮,或获取显示的搜索结果数。 只能单击一次搜索,下一次尝试获取“ NoneType”对象没有属性“单击”。 基本方案-打开亚马逊,在搜索字段中键入value,然后单击搜索按钮,然后获取显示结果的数量。

我尝试使用Xpath,按元素层次结构向上移动,只是为了确保我可以找到任何东西。没有任何效果,页面似乎不可见。

def click_search_button(self):
    self.find_element(*AmazonLocators.SEARCH_BTN).click()

def find_num_of_results(self):
    raw_num = self.find_element(*AmazonLocators.NUMBER_OF_RESULTS).text

class AmazonLocators(object):
    SEARCH_BTN = (By.CLASS_NAME, 'nav-input')
    NUMBER_OF_RESULTS = (By.ID, 's-result-count')

1 个答案:

答案 0 :(得分:0)

有时,单击后元素将对Dom隐藏。尝试使用JavaScript执行器:

    WebElement element = driver.findElementbyxpath("//[@id="js_usercenter_left"]/dl/dd[2]/a");

   JavascriptExecutor executor = (JavascriptExecutor)driver;

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