我在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')
答案 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);