我一直在尝试访问/定位图片中显示的元素,并尝试了各种方法。 xpath,classname,css但不断收到无法找到该元素的错误。你能帮帮忙吗?
Attempt1
driver.find_element_by_class_name(".btn.btn-default").send_keys(os.getcwd() + "InputFiles/Error.png")
错误:的
Attemp2:
driver.find_element_by_xpath("//div[@class='upload-btn__wrapper']").send_keys(os.getcwd() + "InputFiles/Error.png")
答案 0 :(得分:1)
这个xpath应该可以工作。
"//div[@class='upload-btn__wrapper']/button"
希望这会有所帮助。感谢。
答案 1 :(得分:0)
希望它对你有所帮助。如果您需要进一步的帮助,请与我们联系。
driver.find_element_by_xpath(" // DIV [@class ='上传-btn__wrapper']&#34)
答案 2 :(得分:0)
我建议使用Xpath以下,因为它依赖于你的Text,因此按钮文本的任何更改都会导致测试失败,这非常有意义。
//button[normalize-space(text())='Choose image']
在使用该元素执行任何操作之前,还要使用显式等待。
new WebDriverWait(driver, time).until(ExpectedConditions.visibilityOf(By.xpath("//button[normalize-space(text())='Choose image']")));
WebElement chooseImageButton=driver.findElement(By.xpath("//button[normalize-space(text())='Choose image']"));
chooseImageButton.click();
答案 3 :(得分:0)
尝试以下解决方案:
driver.findElement(By.xpath("//div[contains(@class,'margin-bottom')]")).findElement(By.xpath("//div[contains(@class,'upload-btn__wrapper')]")).click();
解释:我从“ margin-bottom ”div类的父div导航,然后到达我们想要找到的子div,这是“上传-btn__wrapper 强>”。
如果有问题,请告诉我。
答案 4 :(得分:0)
您也可以使用css选择器点击它。希望这对你有用。
driver.findElement(By.cssSelector(".btn.btn-default")).click();